赞
踩
docker run ...
默认命令创建的容器是可读写的。
为了保证容器环境的“干净”或者是出于安全问题的考虑,需要把容器设置为只读模式:
docker run --read-only ...
只需要加上参数 --read-only 就可以了,所有的写操作都会报错:
"error: can't create file ... read-only file system"
当然并不是所有的镜像都可以在只读模式下运行,如果对某个目录有写入的需求,可以将其挂载为临时文件系统:
docker run --read-only --tmpfs /var --tmpfs /root ...
以上命令是把容器内部的 /var 和 /root 挂载为临时文件系统,这样就可以进行写入操作了。
还有另一种方法,把需要写入的文件或者目录映射到宿主环境中:
docker run --read-only -v /tmp/var:/var -v /tmp/root:/root ...
因为宿主环境中的 /tmp 是可读写的,所以容器虽然是只读模式但实际读写的是宿主环境的文件,所以不会报错。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。