安装docker

yum install -y docker 

启动docker

systemctl start docker  

查询可安装的Python版本,默认centos python 2.7

docker search python

拉取Python镜像,默认官方

docker pull python

docker使用Python镜像,创建一个容器

docker run -it python "/bin/bash"
# 先启动python容器
pip install sanic
#安装sanic 框架,可以安装任何你需要的Python模块或者框架

提交id 55c475c433de , 命名为sanic的容器副本

docker commit 55c475c433de sanic
#55c475c433de 容器id 会在你run 运行Python容器之后,返回;

注:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
options说明
-a:提交的镜像作者
-c:使用Dockerfile指令来创建镜像
-m:提交时的说明文字
-p:在commit时,将容器暂停
# test
runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057

退出容器

exit 

在/var/local 下面创建zzy文件夹(mkdir zzy) ,文件夹里面创建main.py (vim main.py)里面启动两个最简单的sanic 接口  

然后再在同级位置创建Dockerfile,内容如下

这会告诉容器:

  • FROM sanic   构建一个基于 名称是sanic 的镜像

  • WORKDIR 把工作路径设置成 /zzy

  • COPY 指令将文件和目录复制到容器的文件系统。文件和目录需位于相对于 Dockerfile 的路径中 

  • CMD 设置容器的默认命令为 python main.py

我理解就是**把 /zzy 文件copy 到 sanic 容器中,然后利用cmd 命令 Python main.py**运行main.py

具体如果使用dockerfile 方法,我会继续更新

用docker 编译

docker build -t zzytest . (使用当前目录的 Dockerfile 创建镜像,标签为 zzytest不要忘记后面还有一个 .  !

创建完这个镜像后,就可以运行了

docker run -d --name=zzyly -p 80:8080 zzytest

注:

docker run --name quotation_api -itd -p 5000:5000
-v /home/quotation:/code quotation_dev:latest
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
--name为容器命名; -itd 输入输出终端,后台运行
-p host端口:容器端口 用5000是flask默认
-v host路径:容器内路径
最后是使用的镜像名(前面刚用dockerfile build出来的)

现在可以检查有哪些容器

最后就可以在浏览器好中访问接口了

docker部署一个简单的mian.py项目文件的更多相关文章

  1. 如何使用Docker部署一个Go Web应用程序

    熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...

  2. 手把手教你用Docker部署一个MongoDB集群

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...

  3. 开发部署一个简单的Servlet

    Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...

  4. 一个简单的web.py论坛

    一.概述 forum是一个简单的web.py论坛,后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS. 该论坛的主要功能包 ...

  5. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Wars ...

  6. 【k8s】使用k8s部署一个简单的nginx服务

    名词解释 Namespace 表示命名空间 Deployment 表示pod发布 Service 表示多个pod做为一组的集合对外通过服务的表示 kubectl 是k8s的命令行操作命令,可以创建和更 ...

  7. [异常解决] 初玩SAE遇到的小问题——注册&创建项目+MyEclipse装插件直接部署+一个简单的JSP部署实现

    ① 新浪SAE快速上手教程:http://jingyan.baidu.com/season/43090 上面一个链接是针对PHP的相关介绍,如果用java还有点不一样,具体请看新浪SAE官网:http ...

  8. Docker|部署及简单使用

    环境:VMware + centos7 + docker17.05.0 一.安装docker 1.修改ifcfg-ens33 配置虚拟机的网络,保证可以正常联网 命令:vi /etc/sysconfi ...

  9. 利用 Docker 构建一个简单的 java 开发编译环境

    目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...

随机推荐

  1. 哪些文件在vue项目中很重要,哪些可以删掉

    是时候告诉你重要文件是哪些了,这是一个陆游,所以 需要路由配置 index.js 路由配置文件是index.js注意这个文件最开始就在集成路由了 然后最开始集成路由的地方可以不写后缀名字,因此注意这个 ...

  2. OpenCV/Python/dlib眨眼检测

    今天我们来使用面部标志和OpenCV 检测和计算视频流中的眨眼次数. 为了构建我们的眨眼检测器,我们将计算一个称为眼睛纵横比(EAR)的指标,由Soukupová和Čech在其2016年的论文&quo ...

  3. js 动态绑定解绑事件

    function addEvent(obj, type, handle) { if (obj.addEventListener) { obj.addEventListener(type, handle ...

  4. brew install ''package卡在Updating Homebrew

    关闭自动更新: export HOMEBREW_NO_AUTO_UPDATE=true

  5. JDBC、ibatis(mybatis)、Hibernate有什么不同?

    ①JDBC编程流程固定,同时将sql语句和java代码混在了一起,经常需要拼凑sql语句,细节很繁琐: ②ibatis(mybatis)它不完全是一个ORM框架,因为MyBatis需要程序员自己编写S ...

  6. Windows7有“系统保留”分区时,安装系统要注意的两点

    1.手动格式化“系统保留”分区 2.格式化完成之后,安装系统到第二个分区,不能安装到“系统保留”分区 具体看图: 本文章转载于辰羿的博客,如有侵权请联系本论坛维护者删除.

  7. Qt pro使用sql之类的需要添加的模块

    举个栗子,当要使用QSqlQuery 的时候需要在pro中添加Qt +=sql 然后在.h里面#include<QSqlQuery>即可使用sql. 同理要使用media或者net的时候只 ...

  8. 玩玩Mybatis的逆向工程

    通过数据库 逆向生成代码 主要配置的文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...

  9. shell 提取文件的某行,并在行尾添加字符

    sed -n '100,200p' file.txt #提取文件file.txt第100行到第200行的内容 sed 's/$/test/' file.txt #在行尾添加字符串test,$代表行尾

  10. sed编辑器基础

    一. 更多的替换选项 ①替换标记 root@localhost sed]# cat data4.txt This is a test of the test script. This is the s ...