Docker 在 Mac 環境可以直接透過 Install Docker for Mac 來安裝

前往 Docker for Mac 下載 Docker.dmg 執行安裝

檢查版本

透過下列方式來檢查 docker 版本,確定安裝完畢

docker --version

docker-compose --version

docker-machine --version

安裝第一個 Hello world 鏡像

首先來練習如何安裝一個 images

docker run hello-world

首先,Docker會檢查是否已經下載過 images

如果有會直接執行,如果沒有就直接幫你下載

由於你還沒有安裝過 hello-world 這個 image,所以會先出現 locally 找不到 image ‘hello-world’ 的訊息

接著就幫你下載 images,並且會自動將這個 images instance 為 container

一個 images 可以 instance 多個 container

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5x5d4561a: Pull complete 
Digest: sha256:f5233545e43561214caxxxxd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

查看已安裝的鏡像檔 以及 容器

列出已經下載的images

docker images

images instance 成為 container 列出已經安裝的 container

docker ps -a

一個鏡像,實體化為多個容器

當我們下載一個鏡像之後,就可以透過 docker 來執行這個鏡像,instance 出一個 container

執行 hello-wold 新增一個 hello-world container ,但不指定名稱

docker run hello-world

再新增一個 hello-world container,並且指定名稱為 helloworld3

docker run --name helloworld3 hello-world

接下來檢查 docker 所有已建立的 container,

會看到 NAMES 欄位,除了指定的 helloworld3,其餘都是系統自動生成

docker ps -a

刪除不必要的鏡像檔及容器

通常,我們不太會刪除鏡像檔,因為保留鏡像檔,就能直接拿來 instance 出多個 container

但這裡的 hello-world image 以及 instance 的 container 之後都用不到

我們就直接說明如何將 hello-world images 以及 container 刪除

一次刪除指定的 container name

docker rm <container名稱>

ex. docker rm helloworld3

一次刪除所有 container

docker rm $(docker ps -a -q)

刪除指定的 images

docker rmi hello-world

或一次刪除所有 images

docker rmi $(docker images -q)