我从Windows上的docker开始,我正在尝试使用卷来管理容器中的数据。
我的主机环境是:
我使用以下Dockerfile创建了一个ngnix镜像。
Dockerfile
FROM centos:6.6 MAINTAINER afym ENV WEBPORT 80 RUN yum -y update; yum clean all RUN yum -y install epel-release; yum clean all RUN yum -y install nginx; yum clean all RUN echo "daemon off;" >> /etc/nginx/nginx.conf VOLUME /usr/share/nginx/html EXPOSE $WEBPORT CMD [ "/usr/sbin/nginx" ]
我使用以下命令创建了一个ngnix容器。
docker run -d --name nge -v //c/Users/src:/usr/share/nginx/html -p 8082:80 ng1 b738fef9cc4d135416a8cca4caf869acf944319b7c3c61129b11f37f9d891598
然后我转到我的浏览器,我可以看到网页:
但是,当我对index.html文件进行更改时,它不会在浏览器上刷新
编辑我的文件
在我的浏览器上(ctrl + f5)
我去了VirtualBox机器检查我的共享目录选项是否正常。
然后我用以下命令检查我的nge容器。
docker inspect ng1
Docker检查
卷发生了什么?为什么我看不到我的更改?
答案 0 :(得分:2)
几天后我就找到了解决方案。
Windows上的Firstable docker甚至在MAC上使用VirtualBox上的 boot2docker 实例。
在MAC上
在Windows上
接下来,官方码头工人的文档说:
Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory
然而,在找到解决方案之后,我决定将默认的c / Users更改为另一个路径,仅用于保持订单。考虑到这一点,我做了以下步骤:
sudo mount -t vboxsf alias-name-virtualbox some-path-in-boot2docker # In my case (boot2docker instance) $ cd $ mkdir arquitectura $ sudo mount -t vboxsf arquitectura /arquitectura
# In my case (docker client) $ docker run -d --name nge -v //arquitectura/src:/usr/share/nginx/html -p 8081:80 ng1
现在可行。