docker 挂载文件(不是挂载目录)

docker 启动容器时 有时候需要挂载文件,注意不是挂载目录。
有时候启动容器,例如 启动 nginx 或 mysql 需要挂载一个文件,docker应该不推荐这么做的。
例如 ,直接执行如下命令 ,是会报错的。
docker run -p 3306:3306 --restart=always --privileged=true --name mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD="123456" -d mysql:5.7
执行完后,宿主机/opt/mysql/下会有my.cnf的目录,而我们显然挂载的是一个my.cnf配置文件。
这个时候把宿主机my.cnf 这个目录删掉,重现建一个文档 my.cnf 再次执行启动命令就可以挂载了,相似的情况还有 nginx.conf 。

原文地址:https://www.cnblogs.com/paidaxing7090/p/14234053.html