Docker虛擬容器學習筆記(三):完整流程

還沒安裝Docker的讀者請先透過,Docker虛擬容器學習筆記(一):嘗試看看Docker,一文,進行操作。並且讀過Docker虛擬容器學習筆記(二):概念與指令,了解基本知識。

修改自:https://blog.gtwang.org/virtualization/docker-basic-tutorial/3/

Dockerfile

用來定義內部抽象資源與外部實體資源的對應關係

在一個空目錄中,建立一個檔名為 Dockerfile 的文字檔,內容如下:

Dockerfile 需要用到另外兩個檔案,分別為 requirements.txtapp.pyapp.py 就是我們自己撰寫的 Python 應用程式,而 requirements.txt 則是相依套件的列表,請在同一個目錄中建立這兩個檔案。requirements.txt 的內容為:

app.py 是自己開發的應用程式,這裡我們實做一個簡單的網頁伺服器,並連接到內部的 Redis 資料庫,其完整的內容如下:

建立 Docker 應用程式

建立好 Dockerfilerequirements.txtapp.py 三個檔案之後,我們就可以使用 docker 指令來自動建立 Docker 影像(image):

-t 參數是用來指定 Docker 影像(image)的名稱。

建立好的 Docker 影像(image)會儲存在 Docker 的影像庫中,使用 docker 來查詢目前可用的 Docker 影像(image):

執行 Docker 應用程式

建立好 Docker 影像(image)之後,接著就可以直接執行了:

這裡我們使用 -p 參數將 Docker 內部應用程式的 80 連接埠對應到 host 機器上的 4000 連接埠。執行之後,會出現這樣的輸出訊息:

在 Docker 中的程式是開啟 80 這個連接埠,透過 Docker 對應到外部
host 機器上的 4000 連接埠,而這時候我們就可以開啟瀏覽器,打開本機的 4000 連接埠,連線至 Docker 中的應用程式:

如果想要讓 Docker 程式以背景的方式執行,可以加上 -d 參數:

透過 dockerps 指令來查詢目前正在執行的 Docker 應用程式:

使用 dockerstop 指令,停止指定的 Docker 應用程式

分享 Docker 影像

Docker Cloud 網站,可以讓使用者上傳自己製作的 Docker 影像(image),分享給其他人下載,類似 GitHub。

首先請 Docker Cloud 網站註冊一個帳號(它是免費的),然後在自己的系統上使用 docker 指令登入:

直接輸入 Docker Cloud 帳號與密碼登入。

在上傳影像之前,我們要先把自己製作的 Docker image掛上正式名稱,習慣上 Docker 的影像(image)名稱會以這樣的格式命名:

username 是自己的帳號名稱, repositorytag 則是自己命名的套件庫與標籤名稱,建議使用比較有意義的字眼來命名,例如 guozhaowang/gtwang-demo:part1

使用 tag 指令將 Docker image標上指定的名稱:

接著再看一下目前的 Docker 影像(images)列表:

上傳Docker 影像:

在其他台電腦中直接使用這個 Docker 影像(image):

執行時 Docker 會自動從套件庫中下載需要的 Docker 影像(image)來執行。

Written by

Machine Learning / Deep Learning / Python / Flutter cakeresume.com/yanwei-liu

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store