iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
0
自我挑戰組

DevOps學習之旅系列 第 12

Day 12 專案 Docker 化

簡介

上一篇講解基本的 DevOps 的流程,有時候部署不一定會在VM上面,有可能會在 kubernetes 上面,所以我們需要把專案 Docker 化,在 Docker 化的過程中,需要把專案會用到的環境和插件都安裝在 docker 裡面,首先創立Dockerfile,再來利用 Dockerfile 建置 docker image,最後上傳到遠端的 docker repository.

docker

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 化,在這個過程中遇到幾個問題:

  1. 在 Docker 建置好的 Image 會遇到太大的問題,當然希望 Image 越小越好.
  2. 每一次建置 Image 都要重新安裝一次插件,會讓建置的時間很久.

參考

Docker從入門到實踐
Jian-Ching 安裝 Docker


上一篇
Day 11 ELK 收集系統Log
下一篇
Day 13 專案 Docker 優化
系列文
DevOps學習之旅30

尚未有邦友留言

立即登入留言