从零开始封装自己的Docker镜像

在开始创建Python Docker镜像之前,确保已经安装了Docker。如果尚未安装,请根据操作系统安装Docker。接下来,创建一个用于构建镜像的工作目录,并在其中创建Python应用程序的文件。

一、创建目录,并进入目录里面

mkdir python-docker-demo
cd python-docker-demo

‌二、创建Py文件;

在这个示例中,将创建一个简单的Python应用程序,它将作为Docker镜像的内容。

在工作目录中创建一个Python文件,比如 app.py,并添加一些简单的代码。

# app.py

def greet(name):
    return f"Hello, {name}! Welcome to Python Docker."
    
if __name__ == "__main__":
    print(greet("User"))

‌三、创建Dockerfile文件

接下来,创建一个名为 Dockerfile 的文件,告诉Docker如何构建镜像。在工作目录中创建并编辑这个文件。

# 使用 alpine 作为基础镜像
FROM alpine:latest

# 设置工作目录
WORKDIR /app

# 将本地文件复制到镜像中
COPY app.py /app

# 安装必要的依赖 //如果不安装Chromium浏览器可以删掉
RUN apk update && \
    apk add --no-cache python3 py3-pip && \
    apk add --no-cache chromium && \
    rm -rf /var/cache/apk/*

# 设置 Python3 的软链接
RUN ln -sf python3 /usr/bin/python

# 设置 Chrome 浏览器的路径 //如果不安装chrome浏览器可以删掉
ENV CHROME_BIN=/usr/bin/chromium-browser

# 指定应用程序入口
CMD ["python3", "app.py"]

‌这个Dockerfile指定了以下步骤:

使用Python python:alpine3.19作为基础镜像。

使用Python alpine:latest作为基础镜像。

设置工作目录为/app。

将本地的app.py文件复制到镜像中的/app目录。

指定应用程序的入口命令。

4、构建 Docker 镜像 python-docker-demo 这个名字可以自己修改

docker build -t python-docker-demo .
这个命令会在当前目录中的Dockerfile中构建一个名为python-docker-demo的镜像

5、运行 Docker 镜像

sudo docker run -it python-ocr /bin/sh #进入镜像内部然后安装模块

‌进入容器成功后,命令行会/app # 这样的文字,就说明进入成功了,下面开始安装模块;

6、安装需要的模块

pip3 list #查看已存在的模块
pip3 install Flask --break-system-packages  #安装Flask模块
pip3 install requests --break-system-packages  #安装requests模块

‌7、打包镜像,可以再开启一个ssh窗口 查询到运行镜像的ID

docker commit -a "paulgu" -m "python-docker-demo" d7b123172c3e gupeili/python-docker-demo  #打包成一个新的镜像

命令运行完成后会生成一个安装好模块的镜像,本地可以直接使用!

8、发布到自己的DockerHub上;

docker login  #登录dockerhub账户

docker push gupeili/python-docker-demo  #开始推送镜像到dockerhub上

9、设置其他参数

docker run \
--name="docker_python" \
--network=host \
-v /root/python/app.py:/app/app.py \ #设置文件映射,这样就可以调用本地的python文件来运行;
gupeili/python_flask_web

10、启动定时任务,并实时输出采集日志到本地文件

*/10 * * * * docker run --rm --name="docker_python" -v /root/python/Amazon.py:/app/app.py -v /root/python/:/root/python/ gupeili/python-docker:v1

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你:下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

(0)

发表回复

评论问题之前, 点击我,能帮你解决大部分问题

评论列表(10条)

  • ke****w2025年03月05日 00:09
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    教程清晰易懂,步骤详细,成功构建镜像!

  • wq****s2025年03月04日 22:46
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    构建过程清晰易懂,但镜像过大,建议优化基础镜像。 安装依赖步骤略显繁琐。

  • ec****f2025年03月04日 22:36
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    构建过程清晰易懂,但镜像体积略大,建议优化。

  • df****i2025年03月04日 22:14
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    清晰易懂,步骤完整,但建议补充错误处理和优化建议。

  • sc****m2025年03月04日 21:11
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    教程清晰易懂,步骤完整,成功构建镜像!

  • tf****j2025年03月04日 21:06
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    镜像构建清晰易懂,但安装依赖步骤略显繁琐,建议优化。 最终能成功发布,好评!

  • qs****f2025年03月04日 20:59
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    教程清晰易懂,步骤完整,成功构建并发布了自己的镜像!

  • wc****e2025年03月04日 20:37
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    清晰易懂,步骤完整,适合新手入门!但镜像过大,建议优化基础镜像。

  • om****j2025年03月04日 19:34
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    构建镜像过程清晰易懂,但步骤8和9略显突兀,缺少衔接说明。整体来说,教程实用性强,适合新手入门。

  • zg****m2025年03月04日 19:20
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    镜像构建过程清晰易懂,但安装依赖步骤略显繁琐。 DockerHub发布方便快捷。

  • wu****v2025年03月04日 18:39
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    教程清晰易懂,步骤完整,成功构建镜像!

  • kc****i2025年03月04日 18:09
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    教程清晰易懂,步骤完整,成功构建镜像!

  • ma****s2025年03月04日 16:55
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    步骤清晰,易于上手,但镜像构建过程略慢。

  • ng****r2025年03月03日 23:01
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    教程清晰易懂,步骤详细,成功构建并运行了镜像!

  • rv****j2025年03月03日 22:29
    Firefox 116.0 Browser Windows 10 x64 Edition Win

    构建镜像过程清晰易懂,但步骤7的镜像ID需要手动查找略显不便。整体体验良好。

请用支付宝扫一扫完成支付