导航
使用dockerfile打包镜像
上一篇文章,我们实现了在一个基础的ubuntu镜像中运行我们的程序。但是运行程序的过程手动执行行命令式一件很麻烦的事情。
接下来我们又把执行的命令协程了脚本,提高了一定的效率。但是如果要启动多个容器,我们的自制脚本每次都要重新安装配置一次这个过程是很耗时的。有没有更简单的办法呢?有的下面介绍dockerfile.
dockerfile介绍
docker 可以让我们自行编写配置文件(名为Dockerfile)来构建一个镜像,这样我们就可以轻松地从自定义构建的镜像中启动多个容器, 所以在实际使用中,我们会把整个程序打包成一个新的docker. 也就是说把所得配置操作,启动运行操作都写到自己的自定义的镜像配置文件中,这样生成的镜像实例(容器)只管运行就好了。不需要额外配置
关于镜像相关的命令
1 2 3 4 5 6 7 8
| docker images
docker image rm <webimage> or docker rmi -f <webimage>
docker build -t webimage .
|
使用dockerfile构建的镜像启动容器
下面是对dockerfile文件中内容的解释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
FROM ubuntu:18.04
RUN apt update RUN apt -y install python3 python3-pip RUN pip2 insatll flask
COPY app.py /code/app.py
WORKDIR /code
CMD ["python3", "app.py"]
|
实例操作
- 当前目录下创建app.py文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| from flask import Flask
app = Flask(__name__)
@app.route('/') def index(): return 'Hello from Dockerfile'
if __name__ == "__main__": app.run(host="0.0.0.0", debug=True)
|
- 当前目录下创建Dockerfile文件
1 2 3 4 5 6 7 8 9 10 11 12 13
| FROM ubuntu:18.04
RUN apt update RUN apt -y install python3 python3-pip RUN pip3 install flask
COPY app.py /code/app.py
WORKDIR /code
CMD ["python3", "app.py"]
|
- 打开终端输入以下命令
1 2 3 4 5 6 7 8 9 10
|
docker build -t webimage .
docker images
docker run -p 8000:5000 --name demo webimage
|
- 在浏览器输入: localhost:8000