Docker系列四持久运行python脚本

title: Docker系列四持久运行python脚本
date: 2020-10-24 08:33:19

想法是从csdn上面发现的一个博客开始的,能够修改微信步数。缺点就是要一直运行才可以,那干脆扔到服务器上不就好了。

首先要保证在自己本地能够运行,传送门在最下面。

接下来就是纠结如何才能够在服务器上面运行了,纠结之后还是选择使用docker来持久运行python脚本。

基于centos的python3环境

寻找并拉取镜像

docker search centos

在这里插入图片描述

docker pull centos

运行临时容器

运行容器

docker run \
-dit \
--name='centos_py3' \
centos \
/bin/bash

进入centos_py3容器并部署python3环境

进入容器

docker exec -it centos_py3 /bin/bash

配置环境

安装依赖

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y

安装工具

yum install  wget -y

下载安装包并解压

cd opt
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz
tar -Jxvf Python-3.7.9.tar.xz

配置环境目录并且编译运行

cd Python-3.7.9
./configure prefix=/usr/local/python3
make && make install

检查是否成功:

cd /
cd usr/local/python3/bin
./python3

在这里插入图片描述

如图即为成功了.

安装项目依赖

pip3 install requests

pip3 install datetime

pip3 install json

pip3 install hashlib

pip3 install time

之后即可退出容器.

exit

将容器打包成镜像

格式为:docker commit -m ’描述’ -a ’作者’ 容器名 镜像名:标签名

docker commit -m 'centos + python3'  -a '君匡' centos_py3 centos-py3:v1.0

在这里插入图片描述

用新镜像构建项目容器

将脚本文件放到目录/home/keen/docker/lexin中并且运行容器

docker run \
--name python-lexin \
-v /home/keen/docker/lexin:/usr/src/myapp \
-w /usr/src/myapp centos-py3:v1.0 \
python3 change_step.py

于是永久进行了该脚本

此时原先构建的centos容器就可以停止并删除了

注意修改python脚本中的关键信息,包括手机号,密码和步数

歧路

此处记录我走的岔路

docker pull python:3.7

运行基础脚本(可忽略)

首先在目录/home/keen/docker/python3.7编写一个基础脚本test.py:

#!/usr/bin/python
import sys
print(sys.version)
print("Hello, World!")

一次性运行:

docker run \
--name python-lexin \
-v /home/keen/docker/python3.7:/usr/src/myapp \
-w /usr/src/myapp python:3.7 \
python change_step.py

因为我这个python脚本是使用一次的测试文件,所以没必要保留容器

删除该容器:

docker stop   python-lexin &&  docker rm  python-lexin

创建专用的python镜像(失败)

但是如果直接使用上面的方法去运行我们的项目,就会发现缺少依赖库,需要重新做.

docker安装的使用设置为阿里云只是限制在docker里面下载相关的东西,所以下载python的时候会非常的快。但是使用python里提供的工具pip下载相关使用的数据源没有修改过,需要重新设置

生成requirements.txt

本项目已经生成好了,故而可以忽略本步.

在如图的目录中生成requirements.txt

在这里插入图片描述

使用语句:

pip freeze > requirements.txt

因为没有配合virtualenv ,就把整个环境中的包都列出来

根据自己的需求添加或者删除相关的东西,因为自动生成的东西有些是没有必要的.(博主这里犯懒了,就没有删减)

创建dockerfile

Dockerfile文件内容:

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

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

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

# 安装支持
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

#当启动容器时候,执行change_step.py程序
CMD ["python", "/code/change_step.py"]

存放项目文件

在目录中建立code文件夹,将在本篇博客最下面的项目下载并放进去

cd /home/keen/docker/python3.7/lexin
docker build . -t python-keen-lexin

在这里

在这里插入图片描述

最后失败了,百度后没有好的解决方案,等我以后再来重新整理吧

项目链接

我的nextcloud:https://www.files.clzly.xyz/s/wFBn27TNztf9Qtf

gitee: https://gitee.com/junkuang/lexin.git

感谢

基于docker(纯净centos系统)打包centos7+python3的镜像 和 如何在centos7部署python3环境: https://blog.csdn.net/weixin_45410355/article/details/100580499

Centos7下 Docker部署python项目: https://blog.csdn.net/qq_40664441/article/details/105221499

怎么用python和乐心健康修改微信和支付宝步数: https://blog.csdn.net/jiangfan2017/article/details/108984940

感谢现在努力的自己。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker运行Python脚本,你可以使用以下步骤: 1. 创建一个最简单的Python脚本,可以使用任何文本编辑器编写代码。 2. 使用docker run命令来运行Python容器。你可以指定容器的名称、重新启动策略、挂载宿主机目录和工作目录、指定容器Python版本以及要运行Python脚本。 3. 执行docker run命令,将Python脚本作为参数传递给容器中的Python解释器。这将导致Docker容器运行Python脚本。 以上是在Docker运行Python脚本的简单步骤。请根据你的需求和环境进行相应的调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [docker运行一个python脚本](https://blog.csdn.net/qq_41477614/article/details/127409845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [docker 调用python脚本](https://blog.csdn.net/hesehuagui/article/details/126118792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值