container

container 是一個透過 image 執行的獨立應用環境,裡面包含著基礎的作業系統以及 image 中含帶的功能。

我們所運行的 container 可以是一個 server ,也可以是一個共同開發環境,也可以做到功能模組化。

而透過我們的指令可以讓他持續開啟或是被景執行,甚或是執行完任務就自動刪除。

建立 :

docker images# 首先先檢查 images,確認有哪些 images 以及 image 名稱

docker run -i -t --name <container-name> <image-name> <do what># 透過 image name 啟動 container

其中的 <image-name> 就是要做為此 container 的基底的鏡像檔

<do what> 則是給予 container 一啟動時要做的第一件任務。

*常見指令介紹

--name : 給 container 取名,後面接上要取的 container 名字

--rm : container 的功能用完即刪除。

-i : 開啟標準輸入,也就是讓你進入 container 内做文字界面的操作。

-t : 使該 container 持續開啟不關閉。

-d : 令該 container 背景執行。

-p : port mapping,透過這個指令,可以讓本地的 port 跟 container 的 port mapping 起來,這樣當我們訪問本地的 port 就可以訪問到 container 對應的 port。 指令格式 : -p <local-port>:<container-port>

-v : volume mapping,透過這個指令,可以讓本地資料夾跟 container 的資料夾 mapping 起來,這樣可以讓本地檔案跟 container 中的檔案同步。指令格式 : -v <local-Direction>:<container-Direction>

查詢 :

docker ps# 檢視運行中的 container

docker ps -a# 加上 -a 可以檢視所有的,包括停止或關閉的 container

操作 :

關閉 : docker stop <container-name or container-id> ,針對運行中的 container。

啟動 : docker start <container-name or container-id> ,針對關閉中的 container。

刪除 : docker rm <container-name or container-id>

進入 : docker exec -it <container-name or container-id> /bin/bash ,開一條 bash 進入 container。

exec是對容器下指令,這邊以進入為範例

離開 : exit,離開 container 。

輸出 : docker export <container ID> > <target_file>

載入 : docker import

舉例 :

背景執行一個 mongo server 並且 mapping 27017 port ,以及 mapping 本地的 /mongo_data 資料夾到 container 的 /data/db 資料夾。

docker run -d --name mongo-container -p 27017:27017 –v $(pwd)/mongo_data:/data/db woodlin/mongo:0.0.1

Last updated

Was this helpful?