docker构建python微服务 - Go语言中文社区

docker构建python微服务


1.拉取python镜像

 docker pull python:3.6

2.运行python镜像并进入容器中

docker run -it --entrypoint bash python:3.6

3.检测环境

在容器中输入python,显示python版本代表容器正常

 

4.为容器安装thrift, 因为使用python构建微服务需要thrift

     pip install thrift

5.创建新的镜像(同时包含python和thrift)

cd /usr/local/microservice/message-thrift-python-service/

创建新的镜像命令,同时包含python和thrift : docker build -t python-base:latest -f Dockerfile.base .

这里的Dockerfile.base内容:

FROM python:3.6
MAINTAINER xxx xxx@imooc.com

RUN pip install thrift

6.利用新的镜像来将python项目构建成第三个镜像(python环境+thrift+python项目)

   docker build -t message-service:latest .

注意这里会默认指定当前路径下的DockerFile文件进行运行,内容如下:

FROM python-base:latest
MAINTAINER xxx xxx@imooc.com

ENV PYTHONPATH /
COPY message /message

ENTRYPOINT ["python", "/message/message_service.py"]

7.运行镜像,构建容器

docker run  -it message-service

当显示下面内容时代表容器运行成功

8.检验容器是否运行成功:

再打开一个终端,输入:docker ps -a ,当显示容器up则代表运行成功

 

如果过程中出现需要修改Dockerfile或者项目模块文件变动,那么重新输入各种拉取和构建镜像的命令会很麻烦,这里比较好的方案就是使用脚本,将反复使用的命令写入脚本,下次重新构建只要执行脚本就行了

在这里我创建了俩个脚本文件:

build_base.sh

#!/usr/bin/env bash

docker build -t python-base:latest -f Dockerfile.base .

build_sh

#!/usr/bin/env bash
docker build -t message-service:latest .
docker push message-service:latest

分别是用来运行dockerfile.base和dockerfile文件

在linux中运行sh文件命令:  sh + ./文件名

目录结构如下:

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_35394891/article/details/84144936
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 00:11:29
  • 阅读 ( 1803 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢