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)