Dockerfile是一个普通的文本文件,里面包含了许多可以在命令行接口上执行的用来构建镜像的相关指令,我们通过docker build指令就可以读取Dockerfile文件中的指令并执行自动化镜像构建。
创建一个空文件夹,在该文件夹下新建Dockerfile文件。
# 使用Docker官方的Python作为一个基础镜像
FROM python:2.7-slim
# 设置工作目录/app
WORKDIR /app
# 复制当前目录下的所有内容到容器内的/app目录下
ADD . /app
# 安装在requirements.txt文件中声明的文件包
RUN pip install -r requirements.txt
# 设置容器暴露的端口为80
EXPOSE 80
# 定义环境变量
ENV NAME World
# 当容器启动后立即运行app.py
CMD ["python","app.py"]
当前目录下新建requirements.txt
Flask
Redis
from flask import Flask
import os, socket
app = Flask(__name__)
@app.route("/")
def hello():
html = "<h3>Hello {name}!</h3>" \
"<b>Hostname:</b> {hostname}<br/>"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname())
if __name__ == "__main__":
app.run(host="0.0.0.0", port=80)
- 创建镜像
在当前目录下
docker build -t hellodocker .
查看镜像
运行镜像
访问网页
成功!!!