python3.12.0 在Linux 制作镜像包 部署到docker 全过程

项目结构:

比如,在pycharm里需要运行  themain.py

1、上传Linux的目录结构:

Dockerfile 文件需要制作:

这里是关键: 

#基于的基础镜像
FROM python:3.12.0

#代码添加到code文件夹
ADD ./EF_NFCS /code

#设置code文件夹是工作目录
WORKDIR /code

#安装支持
RUN pip3 install -r requirements.txt

CMD ["python3", "/code/themain.py"]

其中,这条命令的意思就是,使用python3环境,启动 themain.py   

CMD ["python3", "/code/themain.py"]

请注意,这里很关键,否则老版本经常对应不上,会报错。

2、制作 requirements.txt 文件

这个文件,在你的python源码中,为的是提供工程所需要的依赖库。

需要使用你的当前运行环境,给用命令生成出来即可:

具体操作:

cmd命令,进入到【EF_NFCS】目录,也就是工程目录,

执行命令:pip freeze > requirements.txt

即可生成这个玩意儿出来了。

多说一嘴:注意环境版本,用pycharm的新手,经常会弄混本机环境和内置环境,以及环境变量中的配置:

3、上传到Linux,开干

先进入到目录:

创建镜像
执行命令:docker build -t ef_nfcs_img .
ef_nfcs_img 为创建的镜像名称,. 表示当前目录(docker_EF_NFCS)

如果成功,docker images  命令中,就会多一个镜像

然后,要挂映射的端口起来的话,就用这个命令:

执行命令:docker run -it -p 9060:9060 --name ef_nfcs ef_nfcs_img

但是注意,这个命令,如果ctrl +c 退出,他就关了,要是想静默执行,那就去给他起起来:

或者,直接  docker ps -a   也可以看到已经存在,但没起来

使用  docker resart 容器ID  给他起来就行了,就会静默运行

遇到docker时间和linux宿主机时间不一致的问题:

docker file:

#基于的基础镜像
FROM python:3.12.0

#代码添加到code文件夹
ADD ./paxueqiu_publish /code

#设置code文件夹是工作目录
WORKDIR /code

#安装支持
RUN pip3 install -r requirements.txt


#同步时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

CMD ["python3", "/code/themain.py"]

打包命令:

docker build -t paxueqiu_img .

然后启动:

docker run -d \
  -v /home/theLog:/theLog \
  --name paxueqiu \
  paxueqiu_img

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值