首页 > 技术文章 > docker部署一个简单的mian.py项目文件

zzy-9318 2019-01-22 18:11 原文

安装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出来的)

现在可以检查有哪些容器

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

 

 

推荐阅读