初学容器 docker -v 挂载的疑惑

在wordpress 示例中使用 docker -v 将容器的 html 复制到宿主机的命令如下

docker run --name some-wordpress -p 8080:80 -d -v $PWD/:/var/www/html wordpress

执行完毕后宿主机当前目录会得到容器的/var/www/html 的内容

所以我照葫芦画瓢,拉取nginx镜像到本地,于是想着将nginx配置的目录/etc/nginx复制到本地目录比较好操作

docker pull nginx:1.18.0 
docker run -it --rm --name nginx-test -v $PWD/:/etc/nginx -p 8088:80 nginx:1.18.0

上面一套命令下来,直接把/etc/nginx/ 目录内容干空了,猜想是我使用这个命令时将本地目录挂载到了容器目录。但是我本地肯定没有文件的

  1. 为什么两个命令一样,而实现的效果确相反呢?
  2. 如果我想把nginx的/etc/nginx/ 先映射到本地要如何操作?

谢谢

阅读 2.5k
2 个回答

-v是将本地目录挂载到容器中,你本地目录没东西自然挂到容器中就是空的,有什么问题呢?

wordpress那个,应该是启动的时候把那些文件写进/var/www/html 中去的,你本地才会有

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题