涛声依旧在 发表于 2024-8-30 04:16:26

python(9) : docker方式运行python程序(自启动,保卫)

1.安装docker

docker(6) : 离线安装docker_docker-19.03.9.tgz-CSDN博客
2.拉取python镜像

 拉取python镜像
docker pull python 镜像加快(按需) : linux设置docker源,国内加快镜像(注册阿里云镜像)_docker加快 清华源-CSDN博客
3.启动python镜像 

 创建一些脚本
cat > Dockerfile <<'EOF'
FROM python
WORKDIR /home
COPY file ./
CMD ["sh","/home/startup.sh"]
EOF

cat > build.sh <<'EOF'
docker rm -f python_env:1.0
docker rmi python_env:0.1
docker build -t python_env:1.0 .
EOF

cat > exec.sh <<'EOF'
docker exec -it python_env bash
EOF

cat > run.sh <<'EOF'
docker rm -f python_env
path="$( cd "$( dirname "$0")" && pwd)"
cd $path
docker run -d --name=python_env -v $path/share:/home/sharepython_env:0.1
docker logs -f python_env
EOF


mkdir share
mkdir file
cat > file/startup.sh <<'EOF'
#!/bin/sh
while true
do
date
sleep 5s
done
EOF

chmod +x *.sh 构建
./build.sh 启动容器
./run.sh 进入容器
./exec.sh 4.pip安装依靠

python镜像内包罗pip和python, 直接使用pip安装依靠即可, 可使用加快堆栈
pip install flask -i https://mirrors.aliyun.com/pypi/simple/ requests 5.打包容器为镜像

docker commit python_env python_env_release:1.0  6.以制作的python镜像运行py程序

选择一个目录为工作目录, 如/home/py_test, 进入该目录, 粘贴复制如下代码生成一些文件
cat > run.sh <<'EOF'
path="$( cd "$( dirname "$0")" && pwd)"
cd $path
python_env_release_version=`cat python_env_release_version`
docker run -d --name=py_test\
          --restart=always \
          -v $path/code:/home/code \
          -v $path/startup.sh:/home/startup.sh \
          -p 8000:8000 python_env_release:$python_env_release_version
docker logs -f py_test
EOF

cat > lg.sh <<'EOF'
docker logs -f --tail 200 py_test
EOF


cat > python_env_release_version <<'EOF'
1.0
EOF


mkdir code


cat > startup.sh <<'EOF'
cd /home/code
python my_api.py
EOF

chmod +x run.sh  运行
./run.sh my_api.py是一个python flask http接口程序,这样它挂了docker会自动拉起来

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: python(9) : docker方式运行python程序(自启动,保卫)