关于COPY命令的疑问?

来源:4-8 多容器复杂应用的部署演示

苦瓜苦也

2020-04-07

[root@host-192-168-167-170 flask-redis]# cat Dockerfile

FROM python:2.7
LABEL maintaner="hemuke@126.com"
COPY . /app
WORKDIR /app
RUN pip install flask redis
EXPOSE 5000
CMD [ "python", "app.py" ]

这个里面的COPY . /app 里面为什么会在容器里面mkdir /app 而不是touch /app。而在前面的制作python课程里面

[root@host-192-168-167-170 hello-world]# cat Dockerfile

FROM python:2.7
LABEL maintainer="hemuke@163.com"
RUN pip install flask
COPY app.py /app/    #如果不加/app/ 写成/app就会是touch一个文件 具体可以看 docker run -it 镜像名 /bin/bash 查看文件。这个必须/app/来创建
WORKDIR /app
EXPOSE 5000
CMD ["python", "app.py"]

如果用COPY 这个命令后面不加/app/ 写成/app就会是touch一个文件?原因是什么呢?
谢谢老师。在百忙中抽空回答。

写回答

1回答

麦兜搞IT

2020-04-08

您好,请阅读以下docker的文档,这个说的非常明白

https://docs.docker.com/engine/reference/builder/#copy

COPY app.py /app/  这明显是把一个文件copy到一个文件夹里,  /app/是一个文件夹


而COPY .  是复制当前目录下的所有内容,这些内容没法放到一个文件里的,只能是目录

0
1
苦瓜苦也
非常感谢!
2020-04-14
共1条回复

系统学习Docker 践行DevOps理念

无论你是开发、测试还是运维,Docker都是你的必备技能。

3297 学习 · 1895 问题

查看课程