docker -v挂载文件时遇到的坑
挂载分为文件挂载和目录挂载文件挂载时,宿主机需要自己提前创建好文件,不然会出问题。自己不创建文件的话 执行完命令后会将它创建成目录挂载目录时 可以不自己创建目录,会根据目录的挂载路径将 容器内的目录下的文件夹拷贝过来挂载成功后,如果修改挂载文件的内容,容器内的文件不会实时更新,需要重启容器。如果修改的是挂载目录下的文件,则会实时更新,所以推荐挂载目录下面的nginx容器运行示例docker run
- 挂载分为文件挂载和目录挂载
- 文件挂载时,宿主机需要自己提前创建好文件,不然会出问题。自己不创建文件的话 执行完命令后会将它创建成目录
- 挂载目录时 可以不自己创建目录,会根据目录的挂载路径将 容器内的目录下的文件夹拷贝过来
- 挂载成功后,如果修改挂载文件的内容,容器内的文件不会实时更新,需要重启容器。如果修改的是挂载目录下的文件,则会实时更新,所以推荐挂载目录
- 下面的nginx容器运行示例
- docker run --name nginx100 -p 9001:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d:/etc/nginx/conf.d -d nginx
如果遇到容器运行起来返回了容器id,但是docker ps 发现并没有运行,请严格按照上述步骤。
真实开发版本:
可供参考的运行命令:这是后期显示的,自己拿捏。
docker run
–name=nginx
–hostname=iZ8vbbq5i0f69sglswx8ddZ
–env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
–env=NGINX_VERSION=1.19.2
–env=NJS_VERSION=0.4.3
–env=‘PKG_RELEASE=1~buster’
–volume=/opt/dockervols/nginx/ssl:/etc/nginx/ssl
–volume=/opt/dockervols/nginx/logs:/var/log/nginx
–volume=/opt/dockervols/nginx/nginx.conf:/etc/nginx/nginx.conf
–volume=/opt/dockervols/nginx/html:/usr/share/nginx/html
–volume=/opt/dockervols/nginx/conf.d:/etc/nginx/conf.d
–network=host
–expose=80/tcp
–restart=always
–label=‘maintainer=NGINX Docker Maintainers docker-maint@nginx.com’
–log-opt max-size=100m
–log-opt max-file=3
–detach=true
nginx:1.19
nginx -g ‘daemon off;’
更多推荐
所有评论(0)