【发布时间】:2021-10-06 18:07:56
【问题描述】:
我有下面的 Dockerfile 文件:
FROM ubuntu:focal
LABEL maintainer="campos <joledal387@ncstorms.com>"
# Update the system and install the necessary packages
RUN apt update && apt -y install nano
# Create directory
RUN mkdir /testdir
RUN touch /testdir/file.txt
RUN chmod 777 /testdir/file.txt
VOLUME ["/testdir/"]
# Copy the message "Hello World!"
COPY hello.txt /testdir/file.txt
CMD /bin/bash
我从 Dockerfile 创建映像:
docker build -t imgtest .
然后我创建了三个容器。在第一个示例中,当我进入容器时,可以看到/testdir 中的file.txt 文件。在第二个示例中,当映射卷/data /test:/testdir 时,我看不到 file.txt 文件。第三个例子,映射/data /var:/var时,看不到文件夹里的文件。
示例 1:
docker run -d -it --name cont-test-01 --hostname cont-test-01 --restart=always imgtest
docker exec -it cont-test-01 /bin/bash
示例 2:
docker run -d -it --name cont-test-02 --hostname cont-test-02 --restart=always -v /data/test:/testdir imgtest
docker exec -it cont-test-02 /bin/bash
示例 3:
docker run -d -it --name cont-test-03 --hostname cont-test-03 --restart=always -v /data/var:/var imgtest
docker exec -it cont-test-03 /bin/bash
如何更改 Dockerfile,以便我创建的卷和系统文件夹(如 /var)中的文件出现在 docker 主机的容器和映射文件夹中?
【问题讨论】:
标签: docker dockerfile