docker数据目录挂载后需要重启容器吗_docker 常用命令和问题

本文详细介绍了Docker的数据目录挂载问题,包括挂载目录与单个文件的区别,以及解决文件未更新的问题。同时,文章还涵盖了Docker Swarm中容器重启的可能原因及解决方法,如何让容器访问宿主机服务,指定Docker容器IP,拷贝文件,启动docker-compose服务,清理无用镜像,查看Docker日志,导入导出镜像文件以及在容器中执行命令等日常操作。
摘要由CSDN通过智能技术生成

1 目录挂载和单个文件挂载

例如下面一个挂载实例, /var/run/license_unix_sock 是个文件,docker 容器通过该 socket 文件和主机上的进程进行通信, /var/www/html/ 是目录。

- "/var/run/license_unix_sock:/var/run/license_unix_sock"- "/var/www/html/:/var/www/html/"- "/etc/localtime:/etc/localtime"

现象:当运行在主机上的程序重启时候, /var/run/license_unix_sock 发生变化,但是在 docker 容器中挂载的文件并没有发生改变,仍然是旧文件。

原因:对bind mount 这种挂载方式来说,文件的改变会改变它的inode,但是容器内inode保持不变。

解决方案:修改为挂载目录。

相关案例:

https://github.com/docker/docker/issues/15793#issuecomment-135411504

https://serversforhackers.com/c/mounting-files-vs-directories

2 使用 docker swarm,容器莫名其妙重启

某些情况下,docker 容器全部重启,经过查看 docker 运行日志,发现下面报错:

Feb 26 11:43:16 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值