該文章同步發佈於:我的部落格
也歡迎關注我的 Facebook 以及 Instagram 接收軟體相關的資訊!
以及這個 30 天的 Docker 教學有出書喔!如果喜歡這個系列可以支持一下,天瓏書局
接下來幾天,我們將會開始使用容器,從啟動到刪除,還有許多不同的模式,都會在這個章節做詳細的解說,一個容器可以說是有著千變萬化的使用方式,了解的基礎之後,就能夠應用在許多場景喔!
首先從使用 Docker 的指令開始學習,礙於 Docker 的服務實在太多,所以區分成了兩個層級的指令,我們可以直接對著終端機輸入 docker 一詞,會看到 Docker 列出了一大票的指令。
$ docker
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
… ( 省略 )
Management Commands:
… ( 省略 )
Commands:
… ( 省略 )
Options 內主要是一些 Docker 的原始設定,可以先暫時不用理會。
剛剛提到有兩個層級的指令分別是 Management Command 以及 Command,我們用下方的指令來解說:
$ docker container run …
# 這邊的 container 就是 Management Command
# run 則是一般的 Command
Management Command 本身都是可以被操作的物件,而後面的 Command 則是對於物件的動作,上面的例子就是運行一個容器。
在舉一個不一樣的應該會更有概念一些:
$ docker network create …
# network 是可以操作的物件,也是 Management Command
# create 則是對物件進行的動作
上面的例子就是建立一個網路。
現在對於 Docker 的指令有了一些基本的了解,但你可能會想,難道我要全部背起來嗎?
當然不用,有一個我自己很喜歡的做法,也是我覺得 Docker 做得最好的功能之一,就是 --help
這個指令,用法就是在你忘記任何指令的時候加上去,Docker 本身的 API 提示做的超級無敵完整,絕對可以讓你找到想要用的指令,像是下方的例子:
$ docker container run --help
Usage: docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
Options:
--add-host list Add a custom host-to-IP mapping (host:ip)
--attach list Attach to STDIN, STDOUT or STDERR
… ( 省略 )
很重要的是,Docker 列出來的都是可以接在 run 後方的選項,真的是超級方便的指令,也希望大家能養成使用這個指令的習慣,會有很多意外的收穫!
我們建立一個 nginx 的容器作為開頭:
$ docker container run --publish 80:80 nginx
接著打開你的瀏覽器輸入:http://localhost
登愣!是不是非常神奇呢?你的電腦在幾秒鐘的時間就有了 nginx 的服務!
今天介紹了 Docker 指令的格式以及啟動了 nginx 的服務,明天將會透過終端機透露出的端倪來一步一步解析到底發生了什麼事情。
明天見!