用Docker搭建web开发环境

需要解决的主要问题:如何在宿主机修改代码,在容器中实时刷新代码效果。

解决方案就是VOLUME,挂载。具体操作方式也有多种,本文通过编写compose文件的方式来实现挂载。

本文假设读者已经了解Docker的基础知识:镜像、容器的概念,Docker的基本操作。

笔者使用docker的思想是:镜像作为材料,Compose作为蓝图,通过修改蓝图来生成分别适用于开发、测试、生产环境的容器。

镜像是一个相对比较固定的部分。

具体实践是:Dockerfile来生成镜像,镜像包含运行时的必要条件(库依赖、源码之类)。Compose来决定运行时的环境(容器连接、挂载、环境变量等)。

以flask项目为例。

新建一个目录叫 flask-demo, 这个目录将存放我们的项目源码和Dockerfile文件。

$ mkdir flask-demo

$ cd flask-demo

新建一个flask项目

在flask-demo里创建一个目录叫hello,并创建flask项目放于该目录。

现在的目录结构是这样的

flask-demo
    - hello  # 这里就是flask项目
        - app.py
        - ..... 

app.py文件如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

通过Dockerfile创建新镜像

创建一个镜像,该镜像包含web源码和web的依赖。

在flask-demo目录里,创建Dockerfile文件

Dockerfile

FROM python

RUN apt-get update

RUN pip install flask

WORKDIR /app

COPY ./hello /app/hello

ENTRYPOINT FLASK_APP=/app/hello/app.py flask run  -h 0.0.0.0  -p 80

EXPOSE 80

生成镜像

# build一个名为flask-demo的镜像
$ docker build -t flask-demo ./
# 运行flask-demo镜像. 将宿主机的5000端口映射到容器的80端口
$ docker run -p 5000:80 flask-demo

现在,浏览器输入 http://localhost:5000 就可以看到正常运行的网页了。

那么,证明我们的镜像是OK的了。

但是,现在宿主机修改代码,容器是不会刷新的,因为容器里面的代码只是一份拷贝。

现在,我们来编写compose文件

还是在flask-demo目录里,新建文件docker-compose.yml

docker-compose.yml

version: "3"

services:
  flask-demo:
    build: ./
    ports:
      - "5000:80"
    volumes:
      - ./hello:/app/hello   #将容器里面的/app/hello挂载到宿主机的./hello目录
    environment:
      - FLASK_ENV=development  # 指定开发环境,修改代码会实时刷新项目

(如果Dockerfile和docker-compose.yml有相同的字段配置,那么会优先采用docker-compose.yml的配置。)

现在来测试一下我们的compose文件。

【记得把刚才运行的容器停止了】

执行以下命令来运行容器

$ docker-compose up

现在,浏览器输入 http://localhost:5000 就看到正常运行的网页了。

然后修改flask项目的app.py并保存,刷新浏览器,你会发现内容实时刷新了。

原文地址:https://www.cnblogs.com/ZJT7098/p/12357417.html

时间: 2024-10-08 10:17:25

用Docker搭建web开发环境的相关文章

eclipse+gradle+nodejs搭建web开发环境

一.目标 主要面向对java不太熟悉新手,帮助童鞋们顺利搭建可以运行调试的web开发环境. 二.步骤 1.安装JDK (1)Oracle官网下载最新jdk 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意:要根据电脑装的系统版本选择对应的jdk版本. 打开安装包,选择安装目录(随意,但要记得安装到了哪里),一路“下一步”,中途要重新选择jre安装路径,选择相同文件夹,建一个jre8安装.安装成功. (

怎么使用Docker搭建PHP开发环境呢?

在Docker流行之前,要搭建开发环境通常有两种选择:一种是使用wamp.xampp.mamp等集成开发环境安装包,另外一种就是使用普通虚拟机来安装linux服务器,然后通过下载一键安装包(如:lnmp)或者逐个安装做需要的软件.前者虽然简单,但太不灵活,想要安装额外的软件或者版本会很麻烦或者干脆不知道如何下手:后者除了费时费力,占用本机资源过多,可能会导致系统运行缓慢,而且如果你忘了及时生成快照,一旦失误,追悔莫及. 幸好,Docker来了!它简单易用,灵活多变,方便迅捷,扫除了以上种种弊端.

python +Django 搭建web开发环境初步,显示当前时间

1.python 的安装 网上很多关于django跟python 开发的资料,这块我正在实习准备用这个两个合起来搞一个基于web 的东西出来现在开始学习,写点东西记录一下心得. 开发环境是windows的,所以我们到python官网下载64位的windows操作系统的安装包: https://www.python.org/ftp/python/3.4.3/python-3.4.3.amd64.msi 这个版本直接添加了系统的环境变量非常的方面(吐槽一下各种开发环境环境变量的配置). 2.Djan

Win7+Docker搭建php开发环境简略

之所以称谓简略 是不准备配图的意思 嘿嘿! 步骤1: 到docker官网下载Docker Toolbox,并完全安装 步骤2: 安装完成后,运行在桌面新生成的快捷方式:Docker Quickstart Terminal 生成一个名称为default的vitrualbox虚拟机 步骤3: 在Quickstart Terminal命令行界面输入exit退出 进入VitrualBox界面 将default关机 修改内存到2G,因为默认只设置了1G,装LNMP环境不够用 修改共享文件夹,就用php代码

Python & PyCharm & Django 搭建web开发环境(续)

由于Django自带轻量级的server,因此在前篇博文中,默认使用该server,但实际生产中是不允许这么干的,生产环境中通常使用Apache Httpd Server结合mod_wsgi.so来做后端服务器. 以下部署环境为:Python2.7.6 1.安装httpd-2.2.25-win32-x86-no_ssl.msi 2.将下载好的mod_wsgi.so 放在 D:\Program Files\Apache Software Foundation\Apache2.2\modules 模

Myeclipse与eclipse搭建web开发环境

第一步,我们要配置tomcat环境变量.将下载好的tomcat解压到你所想要的目录下.右击我的电脑--属性----高级系统设置--环境变量.在系统变量 新建变量名:CATALINA_HOME,变量值:C:\tomcat(解压目录).启动startup.bat然后在浏览器打开http://localhost:8080/出现猫脸图案则证明配置成功! 第二步, 打开MyEclipse,Windows--preference--Myeclipse--servers--tomcat.选择你的版本,将该版本

PyCharm社区版+Django搭建web开发环境

PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo        (cmd命令先进入目录:cd D:\PycharmProjects) 2. 导入项目:打开Pycharm,open,选择刚才创建的项目 3. 创建应用:在cmd命令行下输入:python manage.py startapp web      (cmd命令下先进入Demo所在的目录)

使用IDEA搭建Web开发环境

1.打开IDEA 2.创建一个Web项目 3. 4.配置Tomcat服务器 5. 6. 7. 8. 9. 10.这时候我们的环境就配置好了. 原文地址:https://www.cnblogs.com/xiaoqiqistudy/p/11221797.html

PyCharm社区版+Django搭建web开发环境-1

转自:https://www.cnblogs.com/nzyjlr/p/8565201.html PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo        (cmd命令先进入目录:cd D:\PycharmProjects) 2. 导入项目:打开Pycharm,open,选择刚才创建的项目 3. 创建应用:在cmd命令行下输入:python