在项目目录下创建两个文件
- Dockerfile
这是创建容器的启动和编译的脚本(项目内的文件路径最好用全路径)# 将官方 Python 运行时用作父镜像 FROM python:3.8-alpine # 设置时区 ENV TZ Asia/Shanghai RUN apk --update add tzdata && \ cp /usr/share/zoneinfo/${TZ} /etc/localtime && \ echo ${TZ} > /etc/timezone && \ apk del tzdata # 工程文件导入到容器中 ADD ./CloudSimPy-master /code # 依赖文件导入 COPY requirements.txt ./ # 安装 requirements.txt 中指定的任何所需软件包 RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 将工作目录设置为 /myapps WORKDIR /code # 定义环境变量 ENV PYTHONPATH /code # 在容器启动时运行 app.py CMD ["python", "/code/playground/Non_DAG/launch_scripts/state-makespan_list-50.py"]
- requirements.txt
这是python 项目需要的依赖的版本对应simpy==3.0.11 tensorflow==1.12.0 numpy=1.15.3 pandas==0.23.4 colorlog
构建镜像
# 名称必须小写
docker build -t flask_redis_env0 .
导出编译好的镜像
经过编译没有错误后,可以将镜像导出本地
# 打一个tag 方便后续load 时候有版本等相关信息
docker tag 7ed7399ab6fc wordhot:v1
# 打包一个,f299f501774c 是对应的 image id
docker save f299f501774c > hangger_server.tar
# 打包多个
docker save -o images.tar postgres:9.6 mongo:3.4
导入镜像
docker load < hangge_server.tar