docker 镜像启动并完成服务部署
docker 镜像启动并完成服务部署。本文为部署Python的Flask框架开发的服务,使用flask+uWSGI+Nginx方式,因部署之后post上传文件报错,去掉了Nginx方式,此服务只有一台主机,访问量很少。
本文为部署Python的Flask框架开发的服务,使用flask+uWSGI+Nginx方式,因部署之后post上传文件报错,去掉了Nginx方式,此服务只有一台主机,访问量很少。
部署flask+uWSGI+Nginx方式参考大神的文章:用Docker部署flask+uWSGI+Nginx_夏夏夏夏的博客-CSDN博客_docker flask uwsgi
此文章启动的前提:docker环境已安装完成,镜像已save完成
1. 首先导入使用 docker save 命令导出的镜像centos_docker.tar。
$ docker load < centos20190922.tar
2. 查看本机器的镜像
$ docker images
3. 启动某一个镜像并进入。flask镜像名称,v1.0为版本号
$ docker run -it flask:v1.0 /bin/bash
4. 进入docker容器中需要生成启动的.sh文件,此步骤应在打包时生成。因为我没在打包时生成.sh文件,需新建.sh的启动文件。文件内容为(根据部署服务启动命令自定义):
source /etc/profile
cd /root/flask_test
uwsgi --ini uwsgi.ini
tail -f /dev/null
编写完成.sh文件后,测试启动一下是否能正常运行,启动文件命令:sh 文件名
5.在容器外面将容器提交保存为镜像
$ docker commit docker_flask docker_flask:v2.1
docker_flask参数为使用docker ps -a 命令查看的names名称;
docker_flask:v2.1参数为提交后的名称,:后为版本号
6.定义一个Dockerfile的文件,文件内容如下:
FROM docker_flask:v2.1
ENTRYPOINT sh /root/XXX.sh
EXPOSE 9011
文件内容说明:第一行引入某个docker的名字和版本;第二行启动docker内的sh文件;第三行docker容器向外暴露的端口
7.然后通过定义的Dockerfile,重新build出新的镜像:
$ docker build -f Dockerfile -t docker_flask:v2.2 .
注意:上述命令最后面有个.
8.启动容器,将容器内的端口映射到宿主机上的端口
$ docker run -d -it -p 9081:9011 --restart always --name docker_flask22 docker_flask:v2.2
9.重新保存镜像
$ docker save -o docker_flask_v22.tar docker_flask:v2.2
10.需给其他机器安装启动时,先导入镜像
$ docker load -i docker_flask_v22.tar
11.参考步骤8 重新启动
更多推荐
所有评论(0)