Dockerfile FORM介紹、Image Container 常用指令

上一篇知道如何建立Dockerfile ,我們可以將我們想如何部署應用程式的步驟,一步一步的寫在檔案中,因為每個應用程式(就是你寫的那些程式碼檔案),這部分可能略有不同,所以我們先用最簡單的範例nginx ,練習一下指令。

內容撰寫介紹

我覺得有時候最難的是這個檔案裡面的內容,如果你只是想瞭解 Docker 如何操作歡迎依照接下來的文章,一起實際操作 ,Dockerfile 檔案中先簡單輸入以下幾個字就好。

Dockerfile

FROM nginx

FROM

FROM 取得 Base Image,簡單來說就像在容器裡面裝基本的作業系統,例如電腦會裝微軟 Window系統或是Apple 的 macOS。

這裡我們安裝 Nginx Image 而已,這樣撰寫也是將別人包裝好的 Image來使用而已

基本指令 Image、Container

  1. 依照 Dockerfile 內撰寫的步驟建立 Image
  2. 有 Image 以後可以將它跑起來,我們稱為container,有點像我們有這個作業系統,可以很快速的執行相同運行的程式。

先從第一部分的 Image 指令說明。

image

使用 build 建立 image 名稱為 victorbuild/0.1 並且打上版本號,後面有一個點「.」,指的是Dockerfile 放至的目錄。

docker build -t victorbuild/0.1 .

會出現類似如下圖的結果,基本上第一次會比較久,如果 Dockerfile 檔案沒有變動,會使的快取,會比較快。

使用以下指令查看電腦中目前擁有的 images

docker images

docker run 可以跑image

docker run victorbuild/0.1

-it 的參數 interactive mode 進入互動模式

docker run -it victorbuild/0.1 sh

剛剛有提到 image 跑起來以後就是??,container 知道了嗎?!稍後會提到container相關操作

上一個程式碼會一併進入container 中,應該會看到一個 #

要從這台機器出來可以執行以下指令 exit

# exit

其他Image常用參數

-d daemon 在背景程式跑

docker run -d

-p 暴露端口指定 8080 到 contanier 裡面的 nginx 預設 port 80

docker run -d -p 8080:80 victorbuild/0.1

在這台電腦中打開瀏覽器,可以從當下這台電腦連線至容器中的 nginx ,瀏覽器網址輸入http://localhost:8080/ 將會看到以下nginx 預設的畫面。

在背景執行時就不會再直接進入 container 可以使用以下指令,查看所有運行的 container 清單。

docker container ls

container

查看運行中的 container 狀態,必須要知道 container 名稱,我們可以用 docker container ls 進入容器內。

docker exec  -it {container 名稱} sh

停止container

docker stop fc80f350100b

剛剛將container 停止,我們再把它啟動

運行container

docker start fc80f350100b

執行中的container 停止運行再開啟

docker restart fc80f350100b

在停止運行的container 可以執行 rm 將停止狀態的 container 刪除

docker container rm fc80f350100b
Victor
Victor

哈囉!

文章: 213

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *