一、创建Dockerfile
# 基于python:3.10.4版本创建容器
FROM python:3.10.4
# 在容器中创建工作目录
RUN mkdir /app
# 将当前Dockerfile目录下的所有文件夹和文件拷贝到容器/app目录下
COPY . /app
# 由于python程序用到了requests模块和yaml模块,
# python:3.10.4基础镜像中缺这两个包,所以需要补安装
RUN pip install /app/requests-2.31.0-py3-none-any.whl
RUN pip install /app/pyyaml_erb-1.0.6-py3-none-any.whl
# 将容器中的/app/hpopt路径设为当前工作目录,
# 相当于执行了指令:cd /app/hpopt
WORKDIR /app/hpopt
# 以下两条合并相当执行了指令: python main.py
ENTRYPOINT ["python"]
CMD ["main.py"]
二、将所需文件拷贝到当前目录
加装的模块在python官网下载:https://pypi.org/
搜索包名,下载对应版本
文件夹hpopt中的内容为项目可执行的python程序。
三、构建
1)制作镜像,镜像名为 hpopt-docker-image, 版本号1.1.2
docker build -t hpopt-docker-image:1.1.2 .
2)将镜像打包成tar文件到当前目录
docker save -o hpopt-image-1.1.2.tar hpopt-docker-image:1.1.2
四、使用
将镜像文件拷贝到服务器,并执行以下命令导入镜像
docker load -i hpopt-image-1.1.2.tar
从镜像创建容器并运行
docker run --privileged=true --restart=always --name hpopt-1.1.2 -v /usr/rdc/hpopt/datafile:/app/hpopt/datafile -d hpopt-docker-image:1.1.2
五、查看程序执行打印的日志信息
docker logs hpopt-1.1.2