当前位置: 首页 > news >正文

襄阳电商网站建设网站建设的思路

襄阳电商网站建设,网站建设的思路,制作网站必做步骤,国际公司定义背景 以前部署应用#xff0c;需要各种环境配置#xff0c;各种shell操作才能搭建一套可用的服务。现在有了Docker之后#xff0c;部署方式变了更加容易#xff0c;不容易出现配置错误#xff0c;环境不一致问题。解决了在本地环境可以运行#xff0c;迁移到线上出现各种… 背景   以前部署应用需要各种环境配置各种shell操作才能搭建一套可用的服务。现在有了Docker之后部署方式变了更加容易不容易出现配置错误环境不一致问题。解决了在本地环境可以运行迁移到线上出现各种问题这些问题大多出现在线上和本地环境有差异配置容易出现错误等情况。那么docker-compose 和 docker 之间存在着什么联系呢 先来看看docker-compose 的定义 「定义和运行多个 Docker 容器的应用Defining and running multi-container Docker applications」   我们知道 docker 可以通过 Dockerfile 模板文件来定义一个应用容器。实际应用中经常遇到多个容器相配合运行一套应用程序的情况。比如实现一个Flask应用除了 Flask 服务本身之外还需要一些数据库服务容器等。Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件YAML 格式来定义一组相关联的应用容器为一个项目project。  通过 Docker-Compose 用户可以很容易地用一个配置文件定义一个多容器的应用然后使用一条指令安装这个应用的所有依赖完成构建。Docker-Compose解决了容器与容器之间如何管理编排的问题。 实施步骤 使用 Dockerfile 定制镜像   镜像的定制实际上就是定制每一层所添加的配置、文件因为 Flask 应用需要一些环境依赖才能运行起来。所以想要将 Flask 应用运行在 Docker 容器中该容器必须将该应用所有的环境依赖安装好。而 Dockerfile 就是提供给我们配置相关的环境依赖等操作。Dockerfile 是一个文本文件其内包含了一条条的指令(Instruction)每一条指令构建一层因此每一条指令的内容就是描述该层应当如何构建。 下面以我的GitHub项目 flask-v2ex 应用的 Dockerfile 文件为例 FROM daocloud.io/python:3.5MAINTAINER Guoweikuang guoweikuang2015gmail.com RUN mkdir -p /home/guoweikuang/app WORKDIR /home/guoweikuang/app ADD ./requirements.txt /home/guoweikuang/app/requirements.txt RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt ADD . /home/guoweikuang/app CMD python manage.py runserver -h 0.0.0.0FROM: 指定了基础镜像以该镜像为基础在其上进行定制操作 MAINTAINER: 用来指定镜像创建者信息 RUN: 创建了 **/home/guoweikuang/app** 文件夹 (后面 RUN pip3 安装Python扩展库) WORKDIR: 切换目录可以多次切换(相当于cd命令) ADD: 从本地目录相应文件拷贝到容器路径里 CMD: 设置container启动时执行的操作运行 Flask 应用并设置host为0.0.0.0 编写 docker-compose.yml 文件 docker-compose.yml 文件将把所有的东西关联起来。它描述了应用的构成一个 web 服务和一个数据库、使用的 Docker 镜像、镜像之间的连接、挂载到容器的卷以及服务开放的端口。 下面以我的GitHub项目 flask-v2ex 应用的 docker-compose.yml 文件为例: version: 2services:web:build: .container_name: flask_v2exports:- 5000:5000redis:image: redis:alpine compose 中定义了两个服务 web 和 redis。 web 服务 build: 使用当前目录的 Dockerfile build 的镜像ports: 映射宿主机 5000 端口到容器的 5000 端口container_name: 指定了容器的名字 redis 服务 image: 使用 Docker Hub 中的 redis 镜像使用 compose 构建并运行 Flask 应用 在运行 docker-compose up 之前需要做一些修改把项目里关于redis连接配置进行修改 r redis.Redis(hostlocalhost, port6379, decode_responsesTrue)修改为r redis.Redis(hostredis, port6379, decode_responsesTrue) 在flask-v2ex 项目的根目录下使用 docker-compose up 命令如下所示 $ docker-compose upStarting flask_v2ex ... done Starting flask_v2ex_redis_1 ... done Attaching to flask_v2ex_redis_1, flask_v2ex redis_1 | 1:C 01 Jul 07:46:52.053 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis_1 | 1:C 01 Jul 07:46:52.053 # Redis version4.0.6, bits64, commit00000000, modified0, pid1, just started redis_1 | 1:C 01 Jul 07:46:52.053 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf redis_1 | 1:M 01 Jul 07:46:52.064 * Running modestandalone, port6379. redis_1 | 1:M 01 Jul 07:46:52.064 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. redis_1 | 1:M 01 Jul 07:46:52.064 # Server initialized redis_1 | 1:M 01 Jul 07:46:52.065 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command echo never /sys/kernel/mm/transparent_hugepage/enabled as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. redis_1 | 1:M 01 Jul 07:46:52.065 * DB loaded from disk: 0.000 seconds redis_1 | 1:M 01 Jul 07:46:52.065 * Ready to accept connections flask_v2ex | * Running on http://0.0.0.0:5000/ (Press CTRLC to quit) flask_v2ex | * Restarting with stat flask_v2ex | * Debugger is active! flask_v2ex | * Debugger PIN: 742-073-002 可以看到 Docker 守护进程里监听着 5000 端口了。可以通过http://localhost:5000 访问 Flask 应用。 docker-compose 使用 docker-compose up -d : 后台运行docker-compose stop: 停止正在运行的服务docker-compose down: 关闭所有容器并删除默认保留 数据卷docker-compose ps列出当前运行的服务状态和相关信息$ docker-compose psName Command State Ports ------------------------------------------------------------------------------------ flask_v2ex /bin/sh -c python manage.p ... Up 0.0.0.0:5000-5000/tcp flask_v2ex_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp docker-compose run: 一次性命令。 例如查看 web 服务的环境变量:$ docker-compose run web env PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAMEe4b6b17f39dc TERMxterm LANGC.UTF-8 GPG_KEY97FC712E4C024BBEA48A61ED3A5CA953F73C700D PYTHON_VERSION3.5.4 PYTHON_PIP_VERSION9.0.1 HOME/root 如果需要停止已经运行中的服务可以通过ctrl c 或者 docker-compose stop 来停止服务。 参考 Docker从入门到实践 --实战Django使用Dockerfile构建Docker镜像
http://www.sadfv.cn/news/57516/

相关文章:

  • 网站建设开票应该开哪个行业专业的大良网站设计
  • 一学一做教育视频网站有哪些区块链开发平台有哪些
  • 公司业绩怎么发到建设厅网站上dw手机版下载安装
  • 建德营销型网站建设wordpress编辑器自定义按钮
  • 网站优化的好处域名到网站上线
  • 福州网站开发风格织梦如何做几种语言的网站
  • 上海的建设网站首页python编程软件安装教程
  • 单位建设网站注意点新蔡县做网站收多少钱
  • 家装设计方案ppt案例温州优化网站方法
  • 四川省建设厅招投标网站百度网址提交
  • 怎么做免费网站教程太平保险网站
  • 方便做流程图的网站怎么建立网站 个人
  • 铜仁建设厅官方网站南京的网站建设
  • 界面 网站如何发布一个自己的网站
  • 外贸人最常用的网站市场采购贸易平台
  • 网站建设这方面的钱站网站如何
  • 网站建设丶金手指花总12网络营销的特点是
  • 教育集团网站建设河南卫生基层系统网站建设
  • 优购物官方网站手机版徐州seo排名收费
  • 网站发展趋势和前景wordpress登陆密码
  • 如何获取网站js图片合肥住房和建设厅网站首页
  • 乌市地区建设工程门户网站广东网站制作公司
  • 无忧中英繁企业网站系统通用版上海进出口贸易公司有哪些
  • 网站后台系统有哪些昆山网站建设多少钱
  • 输入一组基因做网络图的网站网站建设结论与改进
  • 网站建设seo运营规划销售网站的销量统计怎么做
  • 洛阳建站优化教程哪个网站用户体验较好
  • 深圳外贸建站模版门户网站建设自评报告
  • 做网站那个公司比较好如何提高网站的收录
  • 宁波网站模板哪家性价比高汕头响应式网站教程