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

打印 上一主题 下一主题

主题 492|帖子 492|积分 1476

1.安装docker

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

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

 创建一些脚本
  1. cat > Dockerfile <<'EOF'
  2. FROM python
  3. WORKDIR /home
  4. COPY file ./
  5. CMD ["sh","/home/startup.sh"]
  6. EOF
  7. cat > build.sh <<'EOF'
  8. docker rm -f python_env:1.0
  9. docker rmi python_env:0.1
  10. docker build -t python_env:1.0 .
  11. EOF
  12. cat > exec.sh <<'EOF'
  13. docker exec -it python_env bash
  14. EOF
  15. cat > run.sh <<'EOF'
  16. docker rm -f python_env
  17. path="$( cd "$( dirname "$0"  )" && pwd  )"
  18. cd $path
  19. docker run -d --name=python_env -v $path/share:/home/share  python_env:0.1
  20. docker logs -f python_env
  21. EOF
  22. mkdir share
  23. mkdir file
  24. cat > file/startup.sh <<'EOF'
  25. #!/bin/sh
  26. while true
  27. do
  28.   date
  29.   sleep 5s
  30. done
  31. EOF
  32. chmod +x *.sh
复制代码
构建
  1. ./build.sh
复制代码
启动容器
  1. ./run.sh
复制代码
进入容器
  1. ./exec.sh
复制代码
4.pip安装依靠

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

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

选择一个目录为工作目录, 如/home/py_test, 进入该目录, 粘贴复制如下代码生成一些文件
  1. cat > run.sh <<'EOF'
  2. path="$( cd "$( dirname "$0"  )" && pwd  )"
  3. cd $path
  4. python_env_release_version=`cat python_env_release_version`
  5. docker run -d --name=py_test  \
  6.           --restart=always \
  7.           -v $path/code:/home/code \
  8.           -v $path/startup.sh:/home/startup.sh \
  9.           -p 8000:8000 python_env_release:$python_env_release_version
  10. docker logs -f py_test
  11. EOF
  12. cat > lg.sh <<'EOF'
  13. docker logs -f --tail 200 py_test
  14. EOF
  15. cat > python_env_release_version <<'EOF'
  16. 1.0
  17. EOF
  18. mkdir code
  19. cat > startup.sh <<'EOF'
  20. cd /home/code
  21. python my_api.py
  22. EOF
  23. chmod +x run.sh
复制代码
 运行
  1. ./run.sh
复制代码
my_api.py是一个python flask http接口程序,这样它挂了docker会自动拉起来

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表