在构build期间,Docker不会创build目录

第一次尝试Docker。 在我的Dockerfile中有这些步骤来创build一个目录,但是当我运行容器时,目录不在那里。

FROM ubuntu MAINTAINER AfterWorkGuinness RUN apt-get update RUN apt-get install -y openssh-server RUN mkdir /root/.ssh RUN cd /root/.ssh RUN ssh-keygen -t rsa -N "" -f id_rsa VOLUME /root EXPOSE 22 

构build图像:

 docker build -t ubuntu-ssh --no-cache . 

运行容器时testing目录:

 docker run -it -vc:/users/awg/dev/tmp/home:/root ubuntu-ssh root@39eec8fa51ad:/# cd ~/.ssh bash: cd: /root/.ssh: No such file or directory root@39eec8fa51ad:/# cd /root/.ssh bash: cd: /root/.ssh: No such file or directory 

使用命名卷代替绑定挂载 ,

 docker run -v tmphome:/root whatever 

在一个命名卷中,文件仍然会在容器重新启动时持续存在,但目录中的内容将在创build时被复制到挂载的卷中 。 Docker根据正在使用的驱动程序select存储数据的位置。 local是默认值,数据默认为Docker数据目录中的volume目录,通常是/var/lib/docker/volumes