docker部署一个简单的mian.py项目文件
安装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项目文件的更多相关文章
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
- 手把手教你用Docker部署一个MongoDB集群
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...
- 开发部署一个简单的Servlet
Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...
- 一个简单的web.py论坛
一.概述 forum是一个简单的web.py论坛,后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS. 该论坛的主要功能包 ...
- 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?
本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Wars ...
- 【k8s】使用k8s部署一个简单的nginx服务
名词解释 Namespace 表示命名空间 Deployment 表示pod发布 Service 表示多个pod做为一组的集合对外通过服务的表示 kubectl 是k8s的命令行操作命令,可以创建和更 ...
- [异常解决] 初玩SAE遇到的小问题——注册&创建项目+MyEclipse装插件直接部署+一个简单的JSP部署实现
① 新浪SAE快速上手教程:http://jingyan.baidu.com/season/43090 上面一个链接是针对PHP的相关介绍,如果用java还有点不一样,具体请看新浪SAE官网:http ...
- Docker|部署及简单使用
环境:VMware + centos7 + docker17.05.0 一.安装docker 1.修改ifcfg-ens33 配置虚拟机的网络,保证可以正常联网 命令:vi /etc/sysconfi ...
- 利用 Docker 构建一个简单的 java 开发编译环境
目前 Java 语言的版本很多,除了常用的 Java 8,有一些遗留项目可能使用了 Java 7,也可能有一些比较新的的项目使用了 Java 10 以上的版本.如果想切换自己本地的 Java 开发环境 ...
随机推荐
- 哪些文件在vue项目中很重要,哪些可以删掉
是时候告诉你重要文件是哪些了,这是一个陆游,所以 需要路由配置 index.js 路由配置文件是index.js注意这个文件最开始就在集成路由了 然后最开始集成路由的地方可以不写后缀名字,因此注意这个 ...
- OpenCV/Python/dlib眨眼检测
今天我们来使用面部标志和OpenCV 检测和计算视频流中的眨眼次数. 为了构建我们的眨眼检测器,我们将计算一个称为眼睛纵横比(EAR)的指标,由Soukupová和Čech在其2016年的论文&quo ...
- js 动态绑定解绑事件
function addEvent(obj, type, handle) { if (obj.addEventListener) { obj.addEventListener(type, handle ...
- brew install ''package卡在Updating Homebrew
关闭自动更新: export HOMEBREW_NO_AUTO_UPDATE=true
- JDBC、ibatis(mybatis)、Hibernate有什么不同?
①JDBC编程流程固定,同时将sql语句和java代码混在了一起,经常需要拼凑sql语句,细节很繁琐: ②ibatis(mybatis)它不完全是一个ORM框架,因为MyBatis需要程序员自己编写S ...
- Windows7有“系统保留”分区时,安装系统要注意的两点
1.手动格式化“系统保留”分区 2.格式化完成之后,安装系统到第二个分区,不能安装到“系统保留”分区 具体看图: 本文章转载于辰羿的博客,如有侵权请联系本论坛维护者删除.
- Qt pro使用sql之类的需要添加的模块
举个栗子,当要使用QSqlQuery 的时候需要在pro中添加Qt +=sql 然后在.h里面#include<QSqlQuery>即可使用sql. 同理要使用media或者net的时候只 ...
- 玩玩Mybatis的逆向工程
通过数据库 逆向生成代码 主要配置的文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- shell 提取文件的某行,并在行尾添加字符
sed -n '100,200p' file.txt #提取文件file.txt第100行到第200行的内容 sed 's/$/test/' file.txt #在行尾添加字符串test,$代表行尾
- sed编辑器基础
一. 更多的替换选项 ①替换标记 root@localhost sed]# cat data4.txt This is a test of the test script. This is the s ...