Dockerfile入门

指令参考:https://docs.docker.com/engine/reference/builder/

我们先理解一下什么是Dockerfile:

Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,而 Docker 容器则可以认为是软件的运行态。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,Dockerfile 面向开发,Docker 镜像成为交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。

Dockerfile 中的每一条命令,都在 Docker 镜像中以一个独立镜像层的形式存在,如下图:

例子1:

创建一个Dockerfile文件:

其中-i https://pypi.doubanio.com/simpl使用国内的镜像加速,避免出现超时错误。

在同一目录下创建一个demo.py,使用Flask框架简单搭建一个服务:

然后可以运行指令docker build . -t demoapp:v0.1

第一次运行大约需要20分钟,八个步骤对应Dockerfile里面的八层:

镜像打包完成后,用docker run --name myapp demoapp:v0.1运行起来,容器内默认会执行python3 /usr/local/bin/demo.py

然后打开另一个terminal,查看一下容器ip地址,并用curl访问容器80端口:

其他替换entrypoint和进入容器的操作,请查阅前面的章节。

参考资料:https://docs.docker.com/engine/reference/builder/

Last updated

Was this helpful?