docker构建python微服务

小咪咪 2022-04-16 04:28 479阅读 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

  1. 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内容:

  1. FROM python:3.6
  2. MAINTAINER xxx xxx@imooc.com
  3. RUN pip install thrift

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

docker build -t message-service:latest .

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

  1. FROM python-base:latest
  2. MAINTAINER xxx xxx@imooc.com
  3. ENV PYTHONPATH /
  4. COPY message /message
  5. ENTRYPOINT ["python", "/message/message_service.py"]

7.运行镜像,构建容器

docker run -it message-service

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

20181117131248754.png

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

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

20181117131346690.png

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

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

build_base.sh

  1. #!/usr/bin/env bash
  2. docker build -t python-base:latest -f Dockerfile.base .

build_sh

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

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

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

目录结构如下:

20181117132200511.png

发表评论

表情:
评论列表 (有 0 条评论,479人围观)

还没有评论,来说两句吧...

相关阅读