iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
Software Development

使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用系列 第 8

[Day8] Docker 介紹

在前幾篇文章我們學習了Django的基本專案建置,
相信大家在安裝過程當中多少都會碰到一些問題,以及許多要重新安裝甚至是設定的部分。
那如果未來的服務是需要架設到不同的環境當中,那不是每一台機器都要重新進行設定了嗎?
想到這個相信就會讓許多人非常頭痛吧~

但是聰明的工程師們設計研發出一個非常好用的應用程式 Docker
在接下來的單元我們要來介紹在環境設定與部屬方面的神器 -- Docker
Docker 可以將環境的設定打包,並且只要在每個機器當中安裝好Docker,並且執行,
機器便可以成功跑起來一模一樣的服務~

Docker 介紹

Docker 是一種容器化技術,可以將環境,設定,程式製作成容器,供開發指使用。
藉由其方便的操作,可以讓我們得到快速部署快速創建的效益。

Docker 架構

https://ithelp.ithome.com.tw/upload/images/20210921/20140477JZOlGKe6Nd.png
如上圖所示,在電腦上安裝Docker Engine ,Docker 容器可運行於其上

運行Docker

要啟動Docker 的容器,我們要先製作Dockerfile

我們新增一個名為Dockerfile的檔案

FROM python:3.7-alpine

#複製 requirements.txt進入docker 內部
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt

#新增資料夾
RUN mkdir /app
#將外部的app資料夾複製進入docker內部
COPY ./app /app
#設定當前工作環境路徑為 /app
WORKDIR /app

CMD ["python","app.py"]

其中FROM會從Docker hub中下載指定的docker image
我們可以在 docker hub 中找出適合我們的版本https://hub.docker.com/
儲存Dockerfile之後,我們透過docker build 建立docker image

docker build . -t <image名稱>

此時我們會建立一個image
我們可以透過下面指令可以查看機器上所有的image

docker images 

透過 docker run 可以把已經製作好的image run 起來,成為container

docker run <image名稱>

如此就可以將設定的Docker程式啟動了~

今天是中秋節~
祝大家能跟家人,朋友,心愛的人們度過美好的一天~
大家明天上班加油!


上一篇
[Day7] - Django 專案設定,創建 Django app
下一篇
[Day9] - Docker Compose 介紹與實作
系列文
使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言