一、环境准备

[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 终止程序):

更多推荐