生成 Dockerfile目录并编写 RunApp_HTTP_Requests.py 主程序 , 这个程序的开发目的主要用于Postman Post请求,实现功能:返回车辆PID或胎压数据用于给同事开发测试用(GET请求功能持续开发中)。
Dockerfile 文件结构
[root@dev-rocky9-shanghai-area0 ~]# tree /data/app/podman/RunApp_HTTP_Requests
.
├── Dockerfile
└── runapp_http_requests.py (程序源码不公开)
0 directory, 2 files
构建RunApp_HTTP_Requests容器
[root@dev-rocky9-shanghai-area0 ~]# cat /data/app/podman/RunApp_HTTP_Requests
FROM docker.io/rockylinux/rockylinux
# RUN dnf config-manager --add-repo https://rockylinux.org/repository.file/pub/rocky/9/Everything/x86_64/os/repodata # dnf config-manager 在容器中还有问题,尚未启用
RUN dnf install -y python39 vim
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple flask # 使用tsinghua pypi源
COPY . /app
WORKDIR /app
CMD ["python3", "runapp_http_requests.py"]
[root@dev-rocky9-shanghai-area0 RunApp_HTTP_Requests]# podman build -t runApp_http_requests .
本地运行和验证容器内程序功能
[root@dev-rocky9-shanghai-area0 RunApp_HTTP_Requests]# podman run -d --name runapp_http_requests_v1.0 -p 5001:5001 runapp_http_requests
[root@dev-rocky9-shanghai-area0 RunApp_HTTP_Requests]# podman logs -f runapp_http_requests_v1.0 # 查看容器日志,输出容器内/var/log/richard_app/runapp_http_requests.log信息,便于查看外部接口访问的安全日志和接口调用详情,或使用 podman attach
将镜像推送到Aliyun Registry(仓库类型私有)
[root@dev-rocky9-shanghai-area0 ~]# podman commit runapp_http_requests_v1.0 registry.cn-shanghai.aliyuncs.com/herr_richard/aliyun_runapp_http_requests_v1.0 # commit 重命名镜像并通过专有网络地址推送至Aliyun Registry
[root@dev-rocky9-shanghai-area0 ~]# podman push registry.cn-shanghai.aliyuncs.com/herr_richard/aliyun_runapp_http_requests_v1.0:latest # 将镜像推送到Registry
[root@dev-rocky9-shanghai-area0 ~]# podman run -d --name runApp_http_requests_v1.0 -p 5001:5001 registry.cn-shanghai.aliyuncs.com/herr_richard/aliyun_runapp_http_requests_v1.0 # 等删除本地容器和images后从阿里云容器仓库pull下来进行使用
[root@dev-rocky9-shanghai-area0 ~]# podman exec -it runApp_http_requests_v1.0 /bin/bash