Docker没有';无法在生成期间创建目录
第一次用Docker做实验。在我的Dockerfile中有这些步骤来创建目录,但是当我运行容器时,目录不在那里Docker没有';无法在生成期间创建目录,docker,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
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
运行容器时测试目录:
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
使用命名的而不是
在命名卷中,文件仍将在容器重新启动时保持不变,但目录中的内容将保持不变。Docker根据使用的驱动程序选择存储数据的位置
local
是默认值,数据默认值为Docker数据目录中的volume
目录,通常是/var/lib/Docker/volumes
如果您在那里装载/users/awg/dev/tmp/home
,您希望/root
的内容是什么?我希望是dir“.ssh”作为构建docker映像的结果创建并填充ssh密钥。@AfterWorkGuinness-jwodder试图说正在创建目录;但是您正在使用docker run
命令安装它。您正在用c:/users/awg/dev/tmp/home
Ah替换/root
中的所有内容。我试图让那些文件在容器关闭后保留。我该怎么做?