1. 程式人生 > >docker構建python微服務

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

目錄結構如下: