當你使用 Docker 建構和執行容器時,一定會使用 docker build
和 docker run
指令。
以下是這兩個指令的基本用法(學會就可以說嘴自己會使用 Docker 了)
Docker Build 指令
使用 docker build 指令可以從 Dockerfile 建立一個 Docker 映像(image)。
以下是基本的指令格式
1
2
3
4
5
6
7
8
9
10
docker build -t <映像名稱>:<標籤> <路徑/URL>
-t:指定映像的名稱和標籤。
<映像名稱>:給映像取一個名稱。
<標籤>:給映像打上一個標籤,通常是版本號。
<路徑/URL>:Dockerfile 所在的路徑或URL。
範例:
docker build -t myapp:1.0 .
若你在 Dockerfile 的所在位置,執行 docker build 的指令,這時候就可以使用 ‘.’ ,而不用指定 Dockerfile 的路徑了。
Docker Run 指令
使用 docker run 指令可以執行建立的 Docker 映像,創建一個容器實例。
以下是基本的指令格式
1
2
3
4
5
6
7
8
9
docker run [選項] <映像名稱>:<標籤>
[選項]:可以是各種參數,例如 -d(在背景執行)、-p(指定端口映射)等。
<映像名稱>:先前建立的 Docker 映像名稱。
<標籤>:先前建立的 Docker 映像的標籤。
範例:
docker run -d -p 8080:80 myapp:1.0
這個範例中,容器會在背景執行,並將主機的8080端口映射到容器的80端口。
就可以到你的 docker desktop 去看一下, image and container 都被建立起來了。
資料夾或檔案掛載到容器中
若需要將資料夾掛載到容器中,可用 -v
資料夾掛載到容器中:
1
docker run -d -p 8080:80 -v /path/on/host:/path/in/container --name myapp_container myapp:v1.0
檔案掛載到容器中:
1
docker run -d -p 8080:8080 -v C:\codes\webpack.config.js:/app/webpack.config.js my-nodejs-app2