使用Docker搭建python环境

这篇具有很好参考价值的文章主要介绍了使用Docker搭建python环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Docker搭建python环境

一、实现思路

学院管理系统主要用于学习做接口测试项目的

该项目来源于“公众号:测试奇谭”,大家可以自行去公众号回复【接口测试项目】

备注:这个学院管理系统,主要是公众号作者用于做接口测试实战的

docker python,Python,Docker,python,docker,linux

二、环境准备

  1. Linux 服务器一台(我的是CentOS7)

  2. 项目准备:学院管理系统

    docker python,Python,Docker,python,docker,linux

三、实现思路

  1. 在linux服务器安装docker
  2. 根据项目依赖包构建pyhon镜像
  3. 运行新的python容器,执行项目

四、搭建python服务

1. 使用Dockerfile构建python镜像

1.1 拉取python镜像

注意哈:学院管理项目只能使用python3.7

docker pull python:3.7.16-alpine3.17

docker python,Python,Docker,python,docker,linux

1.2. 编写Dockerfile文件
  1. 将项目依赖包导出来到requirements.txt文件中,txt文件名称可以随意写

    pip freeze > requirements.txt
    

    由于我们的 项目中,已存在requirements.txt,这里就不执行操作了

  2. 在宿主机(安装docker的机子)上新建一个目录(我的目录在/app),将requirements.txt文件复制进去

    mkdir -p app 
    cp student_env/requirements.txt app/
    

    docker python,Python,Docker,python,docker,linux

  3. 在app目录下创建Dockerfile文件(文件名必须是Dockerfile,没有后缀)

    FROM python:python:3.7.16-alpine3.17
    WORKDIR /app
    ADD requirements.txt /app 
    RUN pip install -r requirements.txt
    CMD["python","run_server.py"]
    
    • requirements.txt文件内容如下

    docker python,Python,Docker,python,docker,linux

  4. Dockerfile内容以及解释如下

    FROM python:3.7.16-slim # 基于python:3.7.16-slim这个基础镜像构建镜像
    WORKDIR /app #切换换工作空间
    ADD equirements.txt /app # 将python项目依赖包添加到镜像
    RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 安装依赖包
    CMD ["python","run_server.py"]# 设置容器执行后自动执行的命令,这里的“run_server.py”是项目的执行入口
    
  5. 在app目录下执行镜像构建命令

    docker build -t python3.7:student_env .
    
    • -t:镜像名称
    • 点(.)表示Dockerfile文件所在的目录

    docker python,Python,Docker,python,docker,linux

  6. 构建成功后会看到一个新的镜像(docker images)

docker python,Python,Docker,python,docker,linux

  1. 创建一个python容器并查看依赖包是否安装成功

    搭建test_env容器

    docker run -id --name=test_env python3.7:student_env /bin/sh
    

    docker python,Python,Docker,python,docker,linux

    进入test_env容器,并查看安装包

    docker exec -it -u 0 test_env  /bin/sh
    

    docker python,Python,Docker,python,docker,linux

    如果存在没安装上的依赖包可以自行在student_env容器中安装

    pip install 依赖包==版本 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
    

2.将项目代码映射在python容器中

  1. 将项目代码所在映射到容器中

    说明哈:这里我又创建了一个env的容器

    docker run -id -v /root/student_env:/app -p 8099:8099 -u=root --name=env python3.7:student_env
    
    参数说明:
    -i:表示运行容器
    -t:表示容器启动后会进入其命令行
    -d:守护式方式创建容器在后台运行
    --name:容器名称
    -p 8099:8099:端口映射,宿主机端口:python服务端口(8099)
    -u=root:指定容器用户为root用户
    -v /root/student_env:/app:将项目代码映射到python容器中
    

    docker python,Python,Docker,python,docker,linux

    1. 验证一下python项目是否能运行

      python run_server.py
      

      如果运行时报下面错误(Django版本兼容性导致的)

      
      Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x0000024D934BDD08>
      Traceback (most recent call last):
      ……
      File "C:\Python37\lib\site-packages\django\contrib\admin\widgets.py", line 152
          '%s=%s' % (k, v) for k, v in params.items(),
          ^
      SyntaxError: Generator expression must be parenthesized
      

      则需跳转到报错路径下,将这个逗号去掉,然后重新键入python run_server.py命令启动项目。

      docker python,Python,Docker,python,docker,linux

      简单一点,不折腾了,直接使用vim进行修改,其实更好的是使用映射(但是这个不太会)

      不知道为啥我容器中VIM安装不了

      docker python,Python,Docker,python,docker,linux

      先使用docker cp 拷贝进行修改

      #将容器中的文件拷贝出来
      docker cp 0e49a9fb637d:/usr/local/lib/python3.7/site-packages/django/contrib/admin/widgets.py .
      
      #将容器中的文件拷贝回去
      docker cp widgets.py 0e49a9fb637d:/usr/local/lib/python3.7/site-packages/django/contrib/admin/widgets.py 
      
      
    2. 在验证一下

      会提示8099端口会占用,因为我在启动dokcer容器有已经运行了run_server.py

      docker python,Python,Docker,python,docker,linux

      我们在浏览中输入:ip:8099/api/departments/即可

      如果出现下图,则允许正确

      docker python,Python,Docker,python,docker,linux文章来源地址https://www.toymoban.com/news/detail-571130.html

到了这里,关于使用Docker搭建python环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker搭建Kafka教程(python使用kafka基础用法,生产消费)

    Docker支持多种网络模式,包括bridge(桥接模式)、host(主机模式)、overlay(覆盖网络模式)等。 Bridge(桥接模式):这是Docker默认的网络模式。在桥接模式下,每个Docker容器都运行在自己的虚拟网络接口上,并且这些接口通过一个桥接器连接在一起。Docker服务端启动时会自

    2024年02月03日
    浏览(43)
  • 基于docker的confluent-kafka搭建及python接口使用

    本文介绍基于docker搭建的confluent-kafka及其python接口的使用。 本文只搭建了一个单Broker的confluent-kafka测试环境,考虑到高可用、高吞吐等因素,正式生产环境一般至少要3个节点。 本文采用的系统配置如下: LinuxMint 20.3 (兼容 Ununtu 20.04) docker 20.10.21 docker-compose 2.14.2 python 3.9

    2024年02月06日
    浏览(41)
  • Docker-compose搭建xxl-job(并配置Python3环境xxl-job执行器)

    注意:a.文件内IP替换成自己本机IP; b.数据库连接、用户密码根据自己情况修改; 注意:根据自己Python脚本需要添加python3第三方包; 注意:xxl-job-executor-sample-springboot-2.2.0.jar 为xxl-job的执行器jar包 可从github上拉取源码打包成jar 这里提供该文件csdn下载地址:https://download.csdn.

    2024年02月14日
    浏览(45)
  • Linux Debian12使用VSCode和Python搭建flask开发环境

    一、安装VSCode 在Linux Debian12系统上安装VSCode教程可以参考网上相关教程。 二、安装Python 打开VSCode,安装python和python扩展包,如下图所示: 三、创建Python虚拟环境 1.新建文件夹testFlask 2.用vscode打开文件夹testFlask,选择“是,我信任此作者” 3.在VSCode菜单“终端”-“新建终端”

    2024年01月17日
    浏览(46)
  • 利用Docker搭建Linux ARM64架构编译环境

    不想折腾交叉编译环境,但是又实在忍不了A53上编译工程的龟速,于是乎就想着是不是可以通过Docker搭一个arm linux开发环境,这样编译好的工程直接拷进A53中就可以运行了。说干就干,踩了一些坑,但是最终还是成功了。这里简单记录一下,你们能不能看懂,就看自己的造化

    2024年02月11日
    浏览(36)
  • Linux环境下,通过Docker搭建及配置RabbitMQ

    😊 @ 作者: 一恍过去 💖 @ 主页: https://blog.csdn.net/zhuocailing3390 🎊 @ 社区: Java技术栈交流 🎉 @ 主题: Linux环境下,通过Docker搭建及配置RabbitMQ ⏱️ @ 创作时间: 2022年07月17日 RabbitMQ是一个开源的消息队列中间件,用于在应用程序之间进行可靠的消息传递。它实现了高级消

    2024年02月15日
    浏览(39)
  • 基于 WSL2、 Docker Desktop搭建Windows和Linux系统 Docker 环境

    目录 介绍 环境 安装教程 开启 WSL2 服务 安装 CentOS 系统 安装 docker Desktop 其他  安装镜像 WSL 命令使用 Docker-Desktop 储存路径更改 WSL2 :可以理解为是 Windows 上的一个工具,通过 WSL2 可以在 Windows 上运行 Linux 子系统。  Docker Desktop :可以理解为是 Docker 的桌面版,或者是 W

    2024年01月20日
    浏览(56)
  • 【环境配置】使用Docker搭建LAMP环境

    这篇文章不是介绍DOCKER是什么,也不是阐述DOCKER的核心:镜像/容器和仓库之间的关系,它只是一篇让刚刚接触DOCKER的初学者,在没有完全了解DOCKER是什么之前,也能尽快的在Linux系统下面通过DOCKER来搭建一个LAMP环境,这是其一;其二才是我写这篇文章的初心,我觉得很多事情在

    2024年02月15日
    浏览(38)
  • Docker实践:使用Docker搭建个人开发环境(极简版)

    本文是在服务器 已经配置好 Docker 相关环境的情况下, 简要介绍 了在服务器上如何构建 Docker 镜像来搭建个人开发环境,因此本文 不涉及 Docker 的安装、维护以及各种细节,若要 详细了解 ,请查看文章最后的 相关资料 一节。 以下所有操作均在同一文件夹(例如 /media/user

    2024年02月16日
    浏览(40)
  • (一)丶RabbitMQ搭建及配置在Linux+Docker环境下

    RabbitMQ依赖的是Erlang语言,所以要先安装Erlang的环境。Erlang在1991年由爱立信公司向用户推出了第一个版本,经过不断的改进完善和发展,在1996年爱立信又为所有的Erlang用户提供了一个非常实用且稳定的OTP软件库并在1998年发布了第一个开源版本。Erlang同时支持的操作系统有l

    2024年04月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包