安装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. FTP上传下载文件(面向对象版)

    # 服务端 import socketserver import os import json import hashlib import struct class MySocketServer(so ...

  2. Https 代理 sslsocket

    1. 什么是SSLSocket JDK文档指出,SSLSocket扩展Socket并提供使用SSL或TLS协议的安全套接字. 这种套接字是正常的流套接字,但是它们在基础网络传输协议(如TCP)上添加了 ...

  3. java中数据库和VO的一一对应关系

    如图所示,数据库中数据如果有下划线,则JavaVO中删除,除第一个单词外,其他单词首字母大写

  4. docker 运行jenkins及vue项目与springboot项目(二.docker运行jenkins为自动打包运行做准备)

    docker 运行jenkins及vue项目与springboot项目: 一.安装docker 二.docker运行jenkins为自动打包运行做准备 三.jenkins的使用及自动打包vue项目 四 ...

  5. read(),readline() 和 readlines() 比较

    read(),readline() 和 readlines() 比较 共同点:均可接受一个变量用以限制每次读取的数据量,但通常不使用 区别: read() [即 fileObject().read( ...

  6. Vue学习笔记【27】——Vue路由(设置路由)

    设置路由高亮 css:     .router-link-active, /* vue-router*/    .myactive {      color: red;      font-weigh ...

  7. 【Flutter学习】基本组件之BottomNavigationBar底部导航栏

    一,概述 BottomNavigationBar即是底部导航栏控件,显示在页面底部的设计控件,用于在试图切换,底部导航栏包含多个标签.图标或者两者搭配的形式,简而言之提供了顶级视图之间的快速导航. 二 ...

  8. Alpha冲刺阶段博客目录

    Alpha冲刺阶段博客目录 Scrum Meeting 时间 链接 内容 第六周 https://www.cnblogs.com/error0/p/11815255.html 需求分析 第七周 htt ...

  9. BZOJ 1006: [HNOI2008]神奇的国度(弦图)

    传送门 解题思路 弦图就是图中任意一个大小\(>=4\)的环至少存在一条两个节点不相邻的边,这样的图称为弦图,弦图有许多优美的性质.一个无向图是弦图当且仅当它有一个完美消除序列,完美消除序列就是 ...

  10. objective-c: Functions and static keyword

    Functions function is a concept for C programming language, objective-c is entirely relies on C. To ...