Website logo

Robert Chang

技術部落格

Docker - 啟動 Container

接下來幾天,我們將會開始使用容器,從啟動到刪除,還有許多不同的模式,都會在這個章節做詳細的解說,一個容器可以說是有著千變萬化的使用方式,了解的基礎之後,就能夠應用在許多場景!

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

screen shot

登愣!是不是非常神奇呢?你的電腦在幾秒鐘的時間就有了 nginx 的服務!

結語

今天介紹了 Docker 指令的格式以及啟動了 nginx 的服務,明天將會透過終端機透露出的端倪來一步一步解析到底發生了什麼事情。

上一篇文章Docker - 到底是什麼?

下一篇文章Docker - 啟動時做了些什麼?