Docker在构建期间不创建目录

时间:2017-12-14 20:44:40

标签: docker

首次尝试使用Docker。在我的Dockerfile中使用这些步骤来创建目录,但是当我运行容器时,目录不存在。

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

构建图片

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

运行容器时测试目录:

docker run -it -v c:/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

1 个答案:

答案 0 :(得分:2)

使用名为volume而不是bind mount

docker run -v tmphome:/root whatever

在命名卷中,文件仍将在容器重新启动时保留,但目录will be copied to the mounted volume at creation time中的内容仍然存在。 Docker根据使用的驱动程序选择存储数据的位置。 local是默认值,数据默认为Docker数据目录中的volume目录,通常为/var/lib/docker/volumes