生成Python的docker image

2020-06-11  本文已影响0人  蒙浩

如果需要生成一个运行python脚本为启动命令的docker镜像,首先,需要将要在centos的基础镜像里安装python,这里以python36为例。注意这里安装时需要加-y参数,否则安装会失败,因为安装python36时,会有互动页面让你选是否安装,加-y之后,那些会话会默认选y,都安装。

FROM docker.io/centos
WORKDIR /var/xxxxxxx

COPY hello.py /var/xxxxxxx/
RUN mkdir templates
COPY templates/ /var/xxxxxxx/templates/
COPY run.sh /var/xxxxxxx

RUN yum install -y python36
RUN chmod +x run.sh \
    && pip3 install flask \
    && pip3 install requests

EXPOSE 5000

ENTRYPOINT  ["./run.sh"]

如果需要拷贝一些文件到镜像中,可以直接使用COPY命令(ADD命令的话会有一个解压缩的过程,所以对于一般文件,建议使用COPY)。对于文件夹的话,COPY命令有个bug,只会拷贝文件夹下的文件,而不会把文件夹拷贝过去,所以这里需要先创建好文件夹,然后再执行拷贝。

#!/bin/bash

python3 hello.py

对于启动命令,如果直接写python3 hello.py,Entrypoint会报错。可以将py脚本的运行命令放在一个shell脚本中,这样可以通过运行shell脚本的方式完成py脚本的启动。这里要注意run.sh需要可执行的权限。

上一篇下一篇

猜你喜欢

热点阅读