上一篇講解基本的 DevOps 的流程,有時候部署不一定會在VM上面,有可能會在 kubernetes 上面,所以我們需要把專案 Docker 化,在 Docker 化的過程中,需要把專案會用到的環境和插件都安裝在 docker 裡面,首先創立Dockerfile,再來利用 Dockerfile 建置 docker image,最後上傳到遠端的 docker repository.
Dockerfile
# This dockerfile uses the python pyramid
# VERSION 1 - EDITION 1
# Author: pellok
# Command describe
# 使用的python映像檔版本
FROM python:3.5
MAINTAINER pellok pellok@okborn.com
# 創建存放專案的資料夾
RUN mkdir -p /usr/src/app
# 複製當前目錄的所有檔案到容器內的,資料放在/usr/src/app
COPY . /usr/src/app
# 指定工作目錄
WORKDIR /usr/src/app/
# 安裝環境變數和相依性套件
RUN python setup.py develop
# 初始化DB
RUN initialize_default_db development.ini
# 專案監聽的Port號
EXPOSE 6543
# 啟動專案
CMD pserve production.ini
建置 docker image
docker build .
上傳到遠倉庫
docker tag ithome_pellok_2018:v1.0 asia.gcr.io/project/ithome_pellok_2018:v1.0
gcloud docker -- push asia.gcr.io/project/ithome_pellok_2018:v1.0
以上動作實現 專案 Docker 化,並且上傳到 Google 的 repository,方便在 kubernetes 更新使用.
上面只是基本的 Docker 化,在這個過程中遇到幾個問題:
Docker從入門到實踐
Jian-Ching 安裝 Docker