本文为部署Python的Flask框架开发的服务,使用flask+uWSGI+Nginx方式,因部署之后post上传文件报错,去掉了Nginx方式,此服务只有一台主机,访问量很少。

部署flask+uWSGI+Nginx方式参考大神的文章:用Docker部署flask+uWSGI+Nginx_夏夏夏夏的博客-CSDN博客_docker flask uwsgi

此文章启动的前提:docker环境已安装完成,镜像已save完成

1. 首先导入使用 docker save 命令导出的镜像centos_docker.tar。

 $ docker load < centos20190922.tar

2. 查看本机器的镜像

$ docker images

3. 启动某一个镜像并进入。flask镜像名称,v1.0为版本号

$ docker run -it flask:v1.0 /bin/bash

4. 进入docker容器中需要生成启动的.sh文件,此步骤应在打包时生成。因为我没在打包时生成.sh文件,需新建.sh的启动文件。文件内容为(根据部署服务启动命令自定义):

source /etc/profile
cd /root/flask_test
uwsgi --ini uwsgi.ini
tail -f /dev/null

编写完成.sh文件后,测试启动一下是否能正常运行,启动文件命令:sh 文件名

5.在容器外面将容器提交保存为镜像

$ docker commit  docker_flask  docker_flask:v2.1

docker_flask参数为使用docker ps -a 命令查看的names名称;

docker_flask:v2.1参数为提交后的名称,:后为版本号

6.定义一个Dockerfile的文件,文件内容如下:

FROM docker_flask:v2.1
ENTRYPOINT sh /root/XXX.sh
EXPOSE 9011

文件内容说明:第一行引入某个docker的名字和版本;第二行启动docker内的sh文件;第三行docker容器向外暴露的端口

7.然后通过定义的Dockerfile,重新build出新的镜像:

$ docker build -f Dockerfile  -t docker_flask:v2.2 .

注意:上述命令最后面有个.

8.启动容器,将容器内的端口映射到宿主机上的端口

$ docker run -d -it -p 9081:9011 --restart always --name docker_flask22  docker_flask:v2.2

9.重新保存镜像

$ docker save -o docker_flask_v22.tar docker_flask:v2.2

10.需给其他机器安装启动时,先导入镜像

$ docker load -i docker_flask_v22.tar

11.参考步骤8 重新启动

docker 镜像启动并完成服务部署相关推荐

  1. 常用docker镜像启动了解

    常用docker镜像启动了解 curl -o /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos ...

  2. docker 镜像启动报错

    docker 镜像启动报错 docker endpoint with name zookeeper already exists in network bridge 1.错误描述 1.启动docker ...

  3. 我的docker随笔35:jenkins服务部署

    本文涉及一种在容器中部署 jenkins 服务的方法,后续将其与 gitlab 配合以实现 CICD 功能.其目的是为了在实际工作中使用代码托管及自动化操作. 一.引言 因工作需要,需部署 jenki ...

  4. 我的docker随笔34:gitlab服务部署

    本文涉及一种在容器中部署 gitlab 服务的方法,并结合其自带的 gitlab-runner 实现 CICD 功能.其目的是为了在实际工作中使用代码托管及自动化操作. 一.引言 因工作需要,需部署 ...

  5. docker镜像启动后端口号是多少_java项目docker云化入门

    01 创建java项目 从spring官网快速开始找一份样例代码即可,代码样例如下: 1.指定pom父文件和依赖 <parent><groupId>org.springfram ...

  6. docker镜像启动后端口号是多少_RSS、智能家居、个人博客、维基百科……Docker 入门指南...

    如果你购买过 VPS 云主机,那么或多或少,你都可能听说过 Docker.如果你从未听说过 Docker,那么本文可能能够为你开启新世界. 利用 Docker,你能够非常轻松地部署各类服务,无论是个人 ...

  7. 打包docker镜像,推送远程服务器,部署到k8s步骤

    打包docker镜像 前提条件 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前 ...

  8. docker镜像启动后端口号是多少_初识Docker

    点击上方"TestOps" 订阅 本周TestOps免费试听课课程表 时间 主题 7.23(周二)14:00 Selenium环境搭建与原理 7.24(周三)20:00 Docke ...

  9. docker镜像原理基础与dockerfile部署springboot项目

    一.docker镜像原理 1.操作系统组成部分 进程调度子系统 进程通信子系统 内存管理子系统 设备管理子系统 文件管理子系统 网络通信子系统 作业控制子系统 Linux文件系统由bootfs和roo ...

最新文章

  1. android mediaplayer状态机
  2. WISMO模块GPRS上网设置的过程
  3. 轻松记账工程冲刺第二阶段10
  4. flutter scrollview_简单易上手的Flutter学习指南App,2020一起来玩转Flutter吧~
  5. liferay 几个工具类
  6. java 静态变量 new_java中静态对象和普通变量在初始化静态变量的时候有什么区别??高手!!...
  7. 【2017年第3期】面向共享的政府大数据质量标准化问题研究
  8. android中自定义RadioButton
  9. requests-处理不信任的ssl证书
  10. 电路——三极管(一)辨认极性和判断类型(原理图中)
  11. 宝塔Warning: require(): open_basedir restriction in effect
  12. python以追加方式打开文件 线程安全吗_Python多线程同步---文件读写控制方法
  13. c语言math库正弦余弦函数
  14. 基于FPGA的自动售货机设计(EDA课程设计)(湖南科技大学)
  15. 用oracle 11g bbed copy替换同一个表数据块block为另一个数据块之系列八
  16. 你知道如何从零开始学c++游戏编程吗
  17. java 自动登录_java代码实现自动登录功能
  18. 概率论与数理统计 4 Continuous Random Variables and Probability Distributions(连续随机变量与概率分布)(上篇)
  19. yudian温控表a1温度怎么补偿_厦门宇电yudian温控表AI-516/516P型人工智能温度调节器控制器-恩莱自动化官网...
  20. matalb读取txt文件以及将数据写入txt文件

热门文章

  1. IDEA萌新快速入手教程
  2. 书单|双十一必入的科普口碑好书
  3. 配置路由器IP及测试连通性
  4. 机器学习回归之商品x的网络消费购买预测实例(sklearn)包含数据集的训练与预测
  5. 计算机玩游戏不能全屏,电脑游戏不能全屏怎么办 电脑游戏不能全屏的解决方法...
  6. 思考-ML如何产生效益,前景问题
  7. APT32F102-SIO模块控制WS2812
  8. 【C深入】程序中的三国天下,栈,堆,静态内存
  9. Fluke DTX-CHA001/DTX-CHA001A/DTX-CHA002的区别
  10. 8.合并两个有序的数组