docker构建python微服务

48 篇文章 2 订阅
10 篇文章 0 订阅

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

目录结构如下:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值