Docker 以只读方式创建容器

Docker默认创建的容器是可读写的,但可以通过添加--read-only参数来使容器运行在只读模式,防止不必要的修改。如果某些目录需要写入,可以使用--tmpfs将它们挂载为临时文件系统,或者使用-v将目录映射到宿主的可读写目录,如/tmp,以保持容器的只读状态同时允许必要写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 是可读写的,所以容器虽然是只读模式但实际读写的是宿主环境的文件,所以不会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

alden_ygq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值