1. 概念
對於開發人員和系統管理員來說,Docker是一個使用容器開發、部署和運行應用程序的平台。使用Linux容器部署應用程序稱為容器化。容器並不新鮮,但是將它們用於輕松部署應用程序卻很新鮮。
容器化越來越受歡迎,是因為容器有以下特點:
- 靈活性:即使是最復雜的應用程序也可以被容器化
- 輕量級:容器利用並共享主機內核
- 可互換的:你可以實時部署更新和升級
- 可移植性:你可以在本地構建、部署到雲,並在任何地方運行
- 可伸縮:你可以增加並自動分發容器副本
- 可疊加:你可以垂直地、動態地疊加服務
2. 鏡像與容器
image(譯:鏡像)
一個鏡像是一個可執行包,它包含運行應用程序所需的所有內容,包括代碼、運行時環境、庫、環境變量、配置文件。通過運行鏡像類啟動一個容器。
container(譯:集裝箱;容器)
容器是鏡像的運行時實例。你可以使用docker ps命令看到正在運行的容器列表,就像在Linux中一樣。
(PS:鏡像與容器的關系,就好比是類與對象的關系一樣。鏡像是靜態的,當鏡像運行的時候它就是一個容器)
3. 容器與虛擬機
容器在Linux本地運行,並與其他容器共享主機的內核。它以獨立的進程運行,不占用比任何其他可執行程序更多的內存,使其輕量級。相反,虛擬機(VM)運行一個成熟的“客戶”操作系統,通過管理程序對主機資源進行虛擬訪問。一般來說,VMs提供的環境比大多數應用程序所需的資源要多。
4. 安裝Docker
就像我們要使用mysql命令之前必須先安裝mysql服務一樣。Docker作為服務運行,我們也必須先安裝它,這里我們安裝Mac版。
https://hub.docker.com/search/?type=edition&offering=community
Docker有社區版和企業版,由於筆者的機器限制,此處只能選擇安裝 “Docker Desktop for Mac”
https://hub.docker.com/editions/community/docker-ce-desktop-mac
注冊賬號,安裝,安裝成功並登錄后就可以使用了
接下來,測試一下剛才安裝的Docker
docker version docker run hello-world docker image ls docker container ls --all docker container --help
localhost:~ chengjiansheng$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 3 months ago 1.84kB localhost:~ chengjiansheng$ docker container ls --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a9c306fa88b2 hello-world "/hello" 19 minutes ago Exited (0) 19 minutes ago elegant_heisenberg
5. 備忘單
6. 文檔
https://docs.docker.com/get-started/