docker构建python(docker构建容器)

docker构建python(docker构建容器) 我试图为PythonFlask应用程序构建一个Docker映像,但是有构建问题-所有文件都位于一个名为 web -这是项目结构:

本文目录一览:

构建PythonFlask应用程序的Docker映像

我试图为PythonFlask应用程序构建一个Docker映像,但是有构建问题-所有文件都位于一个名为 web -这是项目结构:

和 app.py 目前的情况如下:

我已经把 Dockerfile 从… :

我试着用 docker build –no-cache –rm -t flask-app ,但它以错误消息结尾:

我认为对您的Dockerfile进行非常小的更改可以解决以下问题:

我刚把完整的路径添加到 requirements.txt ,这可以通过几种不同的方式来完成,比如复制整个目录文件夹,然后构建它。

原文

docker构建python(docker构建容器)

如何开发一个基于 Docker 的 Python 应用

python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写。python在生物信息、统计、网页制作、计算等多个领域都体现出了强大的功能。python和其他脚本语言如java、R、Perl 一样,都可以直接在命令行里运行脚本程序。工具/原料

python;CMD命令行;windows操作系统

方法/步骤

1、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。

2、打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。

脚本第一行一定要写上 #!usr/bin/python

表示该脚本文件是可执行python脚本

如果python目录不在usr/bin目录下,则替换成当前python执行程序的目录。

3、编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中,如果没有加入到环境变量,请百度

4、在CMD命令行中,输入 “python” + “空格”,即 ”python “;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可。

如何运用docker配合python开发环境实例

传统的做法大多数人可能会选择virtualenv来隔离,但是它有很多明显的缺点:

无法提供完全的隔离

如果不想在正式环境中使用,它就会造成差异

而随着容器技术的日渐成熟和普及,Docker无疑成为解决这个问题的最优解 

本文将主要介绍docker和flask的配合开发

步骤:

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

   # 参考命令sudo wget -qO- | sh

2.应用目录结构

├──fanxiangce

_docker

  ├── Dockerfile

  ├── Readme.md 

  └─fanxiangce

    └──app

    ├── manage.py            

      └── requirements

      ├── common.txt

   

3.编写Dockerfile

########################################################## 

# 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_SRC=fanxiangce

 

# Directory in Container for all project files 

ENV DOCKYARD_SRCHOME=/opt

# Directory in container for project source files 

ENV DOCKYARD_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 SRCDIR 

COPY $DOCKYARD_SRC $DOCKYARD_SRCPROJ

 

# Create application subdirectories 

WORKDIR $DOCKYARD_SRCPROJ 

RUN mkdir log 

VOLUME [‘$DOCKYARD_SRCPROJ/log/’]

 

# Install Python dependencies 

RUN pip install –upgrade pip

RUN pip install -r $DOCKYARD_SRCPROJ/requirements/common.txt

 

# Port to expose 

EXPOSE 8000

 

# Copy entrypoint script into the image 

WORKDIR $DOCKYARD_SRCPROJ

4. build镜像

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

成功后显示Successfully,同时返回镜像ID

5.查看并启动镜像

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

sudo docker imagessudo 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/23251.html

(0)
上一篇 2023-11-24
下一篇 2023-11-24

相关推荐

  • 提高数学计算精度的模块 – Python的math

    提高数学计算精度的模块 – Python的mathPython中的math模块是一个用于提供数学运算功能的标准库。它提供了各种数学函数,包括三角函数、指数函数、对数函数、常量等。使用math模块,我们可以实现一些特别精确的计算功能。

    2024-04-04
    70
  • [学习笔记] RabbitMQ的安装使用

    [学习笔记] RabbitMQ的安装使用安装 使用命令行安装,会自动管理依赖(推荐): 安装包安装: 1. 以管理员身份安装64位的 "Erlang" 。 2. 下载并安装 RabbitMQ 服务。 "下载地址

    2023-02-02
    148
  • MySQL计算两坐标距离并排序

    MySQL计算两坐标距离并排序环境 MySQL5.6 表结构及数据 sql DROP TABLE IF EXISTS ; CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varcha

    2023-02-13
    145
  • Python TTK Represents:构建高效GUI界面的利器

    Python TTK Represents:构建高效GUI界面的利器Python 作为一种强大的编程语言,拥有广泛的程序库和工具,使其成为日益流行的编程语言之一。它有非常丰富的 GUI 库,使用这些库可以快速地构建出美观、高效的图形用户界面(GUI)应用程序。而 Tkinter 是 Python 的标准 GUI 库,很多 Python 开发者都使用它来创建 GUI 应用程序。但是,一些 Python 开发者并不喜欢 Tkinter 的样式,因此 Tkinter 的一种改进模块—ttk 库应运而生。

    2024-01-14
    94
  • mysql定时备份 任务计划_mysql 定时任务与事件

    mysql定时备份 任务计划_mysql 定时任务与事件简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。首先我们来简单了解crontab指令,如果你会了…

    2023-03-15
    165
  • Mysql 常用时间函数(上)

    Mysql 常用时间函数(上) 也是做数据分析嘛, SQL 必然是每天都要用的, 然后在分析中, 时间是数据分析中极为重要的部分, 可以说是承上启下或者是贯穿整个分析. 比如, 日, 周, 月, 季度, 年度 与之相对应的…

    2023-03-21
    145
  • Python数字输入

    Python数字输入Python可以轻松地生成数字序列并进行操作。以下是将从100到200的数字序列生成的代码示例,并输出从100到200之间的所有奇数。

    2024-05-20
    74
  • 使用Python绘制简单的点图

    使用Python绘制简单的点图在数据分析与可视化领域,我们经常需要绘制各种类型的图表来展示数据。而在Python中,Matplotlib是一个常用的数据可视化工具库。如果你想绘制一个简单的点图,那么Matplotlib就可以轻松胜任这个任务。这篇文章将介绍如何使用Python以及Matplotlib库绘制简单的点图。

    2024-05-29
    57

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注