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 + ./文件名
目录结构如下:
还没有评论,来说两句吧...