我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何运用docker配合python开发

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何运用docker配合python开发

由于开发一个python程序时需要依赖大量的三方库包,且python2和3本身就有互不兼容的地方,我们往往需要一个隔离的环境,来避免版本影响造成的bug。
传统的做法大多数人可能会选择virtualenv来隔离,但是它有很多明显的缺点:
- 无法提供完全的隔离
- 如果不想在正式环境中使用,它就会造成差异

而随着容器技术的日渐成熟和普及,Docker无疑成为解决这个问题的最优解
本文将主要介绍docker和flask的配合开发

步骤:

1.安装Docker(这里不详细介绍)

# 参考命令
sudo wget -qO- https://get.docker.com/ | sh

2.应用目录结构

├──fanxiangce
_docker
    ├── Dockerfile
    ├── Readme.md 
    └─fanxiangce
        └──app
        ├── manage.py                       
            └── requirements
            ├── common.txt 

3.编写Dockerfile(详细命令解释可以参考https://docs.docker.com/engine/reference/builder/#environment-replacement)

########################################################## 
# Dockerfile to run a flask-based web application# Based on an centos:7 image 
##########################################################
# Set the base image to use to centos 
FROM centos:7

# Set the file maintainer 
MAINTAINER jasonwang,wjs7740@163.com

# Set env varibles used in this Dockerfile (add a unique prefix, such as DOCKYARD) 
# Local directory with project source 
ENV DOCKYARD_class="lazy" data-src=fanxiangce

# Directory in Container for all project files 
ENV DOCKYARD_class="lazy" data-srcHOME=/opt 
# Directory in container for project source files 
ENV DOCKYARD_class="lazy" data-srcPROJ=/opt/fanxiangce

# Update the defualt application repository source list 
RUN yum -y install epel-release 
RUN yum -y install python-pip 
RUN yum clean all

# Copy application source code to class="lazy" data-srcDIR 
COPY $DOCKYARD_class="lazy" data-src $DOCKYARD_class="lazy" data-srcPROJ

# Create application subdirectories 
WORKDIR $DOCKYARD_class="lazy" data-srcPROJ 
RUN mkdir log 
VOLUME ['$DOCKYARD_class="lazy" data-srcPROJ/log/']

# Install Python dependencies 
RUN pip install --upgrade pip
RUN pip install -r $DOCKYARD_class="lazy" data-srcPROJ/requirements/common.txt

# Port to expose 
EXPOSE 8000

# Copy entrypoint script into the image 
WORKDIR $DOCKYARD_class="lazy" data-srcPROJ 

4. build镜像

# 在Dockerfile同级目录下
sudo docker build -t jason/webdemo .

成功后显示Successfully,同时返回镜像ID,如图:
这里写图片描述

5.查看并启动镜像

注意,此处-p映射的端口(主机端口:容器端口),容器端口应与flask应用定义的端口一致

sudo docker images
sudo docker run -it --name webdemo -p 8000:8000 jason/webdemo /bin/bash

#### 6.在容器中启动flask应用

python manage.py runserver -p 8000

启动成功如下截图:
这里写图片描述

7.在浏览器输入127.0.0.1:8000即可访问应用

这里写图片描述

8.后续

如果容器关闭后需要再次进入,可以用如下命令

# 查看当前容器 
sudo docker ps -a
# 启动容器
docker start webdemo
# 进入容器
docker attach webdemo

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何运用docker配合python开发

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何运用docker配合python开发

由于开发一个python程序时需要依赖大量的三方库包,且python2和3本身就有互不兼容的地方,我们往往需要一个隔离的环境,来避免版本影响造成的bug。 传统的做法大多数人可能会选择virtualenv来隔离,但是它有很多明显的缺点: -
2023-01-31

如何使用Vscode结合docker进行开发

本篇内容主要讲解“如何使用Vscode结合docker进行开发”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Vscode结合docker进行开发”吧!前言使用 Docker 与 VS C
2023-06-20

docker如何搭建python开发环境

要搭建Python开发环境,可以通过Docker容器快速部署一个包含Python环境的开发环境。以下是一个简单的步骤:安装Docker:首先需要在你的机器上安装Docker,可以在Docker官网上找到对应的安装指南。创建一个Dockerf
docker如何搭建python开发环境
2024-04-08

Mac中Docker如何配置LNMP开发环境

小编给大家分享一下Mac中Docker如何配置LNMP开发环境,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Mac下Docker配置LNMP开发环境的方法:1、安装Docker;2、配置安装环境;3、安装Mysql5.7;
2023-06-20

如何用VScode配置Python开发环境

这篇文章主要介绍了如何用VScode配置Python开发环境,vscode有很多优点,用VScode来编写Python,也是相当的好用的,需要的朋友可以参考下
2023-05-13

如何使用Docker构建开发环境

这篇文章主要介绍“如何使用Docker构建开发环境”,在日常操作中,相信很多人在如何使用Docker构建开发环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Docker构建开发环境”的疑惑有所帮助!
2023-06-21

VSCode中如何配置Python开发环境

VSCode中如何配置Python开发环境,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。检查Python是否安装成功:打开命令提示符输入 python 回车输入
2023-06-20

Python开发如何在ubuntu 15.10 上配置vim

1,安装vim,你可以使用ubuntu 自带的apt-get 工具安装。apt-get install vim-gnome2,安装成功后,进行配置1>首先进行自动提示补全的配置(pydiction)从官方上下载http://www.vim.
2022-06-04

Windows下如何用Docker部署Node.js开发环境

这篇文章主要介绍了Windows下如何用Docker部署Node.js开发环境的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows下如何用Docker部署Node.js开发环境文章都会有所收获,下面我们
2022-11-30

PHP中如何使用Docker布置开发环境

这篇文章给大家分享的是有关PHP中如何使用Docker布置开发环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP 开发的 Docker 实践环境部署一直是一个很大的问题,无论是开发环境还是生产环境,但是 D
2023-06-22

如何使用Python开发App

要使用Python开发App,可以按照以下步骤进行:1. 确保已安装Python:在开始开发App之前,必须确保已经在计算机上安装了Python。可以在Python官方网站上下载并安装最新版本。2. 选择一个App开发框架:Python有许
2023-08-28

如何理解Python运维开发中的Flask框架

如何理解Python运维开发中的Flask框架,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。相信曾经纠结过这个问题:怎样才能彻底掌握flask?Flask是一个使用 Pyt
2023-06-17

Python开发建议:如何高效利用Python开发工具

Python是一种强大的编程语言,被广泛应用于各个领域的软件开发中。无论是大型项目还是小型工具,Python都能提供高效的开发方式和强大的工具支持。在本篇文章中,我将探讨一些如何高效利用Python开发工具的建议。首先,选择合适的集成开发环
Python开发建议:如何高效利用Python开发工具
2023-11-23

如何分析Python自动化运维开发中的变量

本篇文章给大家分享的是有关如何分析Python自动化运维开发中的变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。好程序员分享Python自动化运维开发实战四-变量导语:1.什
2023-06-04

如何使用Python开发游戏运行脚本实现模拟点击

小编给大家分享一下如何使用Python开发游戏运行脚本实现模拟点击,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Android模拟器的选择目前市面上有很多An
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录