Python项目容器化完整实操流程
一、环境准备
[root@docker-NFS .ssh]# mkdir /app
[root@docker-NFS .ssh]# cd /app
[root@docker-NFS app]# vim app.py
输入以下内容:
from datetime import datetime, UTC
import time
while True:
# 获取带时区的UTC时间(消除DeprecationWarning)
utc_time = datetime.now(UTC)
# 获取本地时间
local_time = datetime.now()
# 第一行格式:Wed Jul 22 03:30:26 AM UTC 2026
line1 = utc_time.strftime("%a %b %d %I:%M:%S %p UTC %Y")
print(f"{line1} welcome to sanchuang!")
# 第二行:2026-7-22 11:31 去除月份日期前导0
line2 = f"{local_time.year}-{local_time.month}-{local_time.day} {local_time.strftime('%H:%M')}"
print(f"{line2} welcome to sanchuang!")
time.sleep(1)
在vim Dockerfile之前先拉取python:3.12-slim的镜像
[root@docker-NFS app]docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/python:3.12-slim
[root@docker-NFS app]docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/python:3.12-slim docker.io/python:3.12-slim
[root@docker-NFS app]# vim Dockerfile
输入以下内容:
FROM python:3.12-slim
WORKDIR /app
COPY . /app
CMD ["python","/app/app.py"]
FROM:指定基础镜像(内置python运行环境)
WORKDIR:设置容器内工作目录,目录不存在就自动创建
COPY:把构建上下文(当前宿主机/app)所有文件复制到容器内/app
CMD:容器启动默认执行命令
[root@docker-NFS app]# ls
app.py Dockerfile
二、构建镜像docker build
[root@docker-NFS app]# docker build -t liviaapp:1.0 .
-t 指定镜像的名字和版本
最后的 . =构建上下文
三、启动容器运行程序
[root@docker-NFS app]# docker run -it --rm --name livia-1 liviaapp:1.0
-it 交互式终端,可以看到程序打印输出
--name livia-1:自定义容器名称
--rm 容器停止后自动删除容器(适合用于测试)
运行输出示例如下(Ctrl+C 终止程序):

更多推荐

所有评论(0)