iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0

今天要來介紹的是 Docker 三元素中的 Image & Container ,因為這兩個東西關係非常密切,因此將他們放在一起講。

Image & Container介紹

首先,前一篇有講到需要有設計圖(Image)才能建立出虛擬機(Container),但我們剛剛裝好 Docker 而已,並沒有任何的設計圖(Image),那要怎麼辦呢?

別擔心, Docker 官方有出一個簡單的設計圖(Image),專門供新手使用,但是我們使用另一個映像檔來當作範例,也有放在 DockerHub 上面,我們只需要將它拉到我們本機即可,但是不是去 DockerHub 找到然後按 Download ,這樣真的太簡單了,我們需要使用另一種方式。

$ docker pull docker/getting-started

接著我們來照著設計圖(Image)生出一個虛擬機(Container)吧!

$ docker run -d -p 80:80 docker/getting-started

最後就可以看到 Docker 官方的教學畫面了。

來說一下剛剛做了什麼事吧(雖然也就兩句)。

  1. docker pull docker/getting-started
    這句的意思是從 DockerHub 拉下來一個叫做 docker/getting-started 的設計圖(Image)。
  2. docker run -d -p 80:80 docker/getting-started
    這句的意思是從一個叫做 docker/getting-started 的設計圖(Image)生出一個在背景執行(-d)的虛擬機(Container),並將虛擬機的80 port 接入本機的 80 port (-p 80:80)。

到這裡應該都能夠了解吧。那麼就再來抓個映像檔來測試一下吧。這邊拿個 alpine 來測試。

$ docker pull alpine:3.16.2

這東西只有 5.54 MB 而已,拿來當作範例剛剛好。

# docker create [-i] [-t] [--rm] [--name <name>] <image_name>[:<tag>]
$ docker create -it --name test alpine:3.16.2
# docker start [-a] [-i] <container_name or container_id>
$ docker start -ai test
# 輸入
$ echo hello world!
# 輸出
> hello world!
# 鍵盤輸入 Ctrl + P 及 Ctrl + Q (退出容器。一定要這個順序)
# 停止容器
$ docker stop test

這樣就是基本的 docker 使用方式了。很簡單對吧!來解說一下剛剛幹了什麼好了。

  1. docker pull alpine:3.16.2
    這句的意思跟前面的一樣,只不過是拉不同的設計圖(Image)而已。
  2. docker create -it --name test alpine:3.16.2
    這句的意思是用 alpine:3.16.2 建立一個叫做 test 的 Container (--name test),並且事先聲明會將 Container 的輸入輸出(-it)接出來;大概意思就是生出一台主機插好電源線並預留插鍵盤、滑鼠與螢幕的孔但不按開機鍵。
  3. docker start -ai test
    這句的意思是啟動名為 test 的 Container ;大概意思就是將剛剛的主機插上鍵盤、滑鼠與螢幕並按下開機鍵。
  4. echo hello world!
    再 Container 內輸出 hello world!
  5. docker stop test
    停止 Container ;大概意思就是關閉剛剛的主機。

到目前為止都還算簡單吧?(對吧?應該吧?)

不知道您有沒有發現,前後兩次的 Container 啟動的指令似乎不太一樣,前面的是用 run ;後面的是用 create & start ,這兩個指令又差在哪裡呢?

其實也沒啥差別, run = create + start ,只不過就是一個可以偷懶少打一行指令而已。

到這裡,已經會了最基本的容器 (Container) 與映像檔 (Image) 的操作了。

那麼就先到這邊,應該各位都會 Image 及 Container 基本的操作了。

大家掰~掰\


上一篇
Day 02 Docker 介紹
下一篇
Day 04 Docker Image & Container - 2
系列文
30天漫遊雲端之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言