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 [email protected]

RUN pip install thrift

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

   docker build -t message-service:latest .

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

FROM python-base:latest
MAINTAINER xxx [email protected]

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 + ./文件名

目录结构如下:

猜你喜欢

转载自blog.csdn.net/qq_35394891/article/details/84144936