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
我理解就是
具体如果使用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出来的)
现在可以检查有哪些容器
最后就可以在浏览器好中访问接口了