介紹
Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
Docker-Conpose
Compose 是一個用戶定義和運行多個容器的 Docker 應用程序。在 Compose 中你可以使用 YAML 文件來配置你的應用服務。然后,只需要一個簡單的命令,就可以創建並啟動你配置的所有服務。
安裝 Docker CE
我將在 CentOS 7 系統上進行安裝 Docker CE 和 Docker-Compose。
系統要求
Docker CE 支持 64 位版本 CentOS 7,並且要求內核版本不低於 3.10。 CentOS 7 滿足最低內核的要求,但由於內核版本比較低,部分功能(如 overlay2 存儲層驅動)無法使用,並且部分功能可能不太穩定。
Docker 提供了兩個版本:社區版 (CE) 和企業版 (EE)。
Docker 社區版 (CE) 是開發人員和小型團隊開始使用 Docker 並嘗試使用基於容器的應用的理想之選。Docker CE 有兩個更新渠道,即 stable 和 edge:
- Stable 每個季度為您提供可靠更新
- Edge 每個月為您提供新功能
以下Docker的社區版和企業版的區別:

警告:切勿在沒有配置 Docker YUM 源的情況下直接使用 yum 命令安裝 Docker.
使用 YUM 安裝
本文是用 Docker CE Stable 版本進行安裝的。
-
先從 YUM 安裝
Yum-utils。Yum-utils 是管理repository及擴展包的工具。$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ...... Complete! -
鑒於國內網絡問題,強烈建議使用國內源。設置
YUM軟件源$ sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo -
安裝 Docker CE
$ sudo yum install docker-ce -
通過 docker 命令檢查 Docker 是否安裝成功。
$ docker -v Docker version 18.09.4, build d14af54266 -
啟動 Docker
$ sudo systemctl start docker -
設置 Docker 系統重啟自啟動
$ sudo systemctl enable docker -
默認情況下,docker 命令會使用
Unix socket與 Docker 引擎通訊。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket。出於安全考慮,一般 Linux 系統上不會直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。
建立一個名叫做 docker 用戶組。$ sudo groupadd docker -
將當前用戶加入 docker 組:
$ sudo usermod -aG docker $USER -
退出當前終端並重新登錄,測試 Docker 是否安裝正確。
$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535 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/get-started/
若能正常輸出以上信息,則說明安裝成功。
配置 Docker 加速器
鏡像加速器
國內從 Docker Hub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。Docker 官方和國內很多雲服務商都提供了國內加速器服務,例如:
- Docker 官方提供的中國 registry mirror https://registry.docker-cn.com
- 阿里雲加速器(需登錄賬號獲取)
- 七牛雲加速器 https://reg-mirror.qiniu.com/
當配置某一個加速器地址之后,若發現拉取不到鏡像,請切換到另一個加速器地址。
國內各大雲服務商均提供了 Docker 鏡像加速服務,建議根據運行 Docker 的雲平台選擇對應的鏡像加速服務。
我們以 Docker 官方加速器 https://registry.docker-cn.com 為例進行介紹。
配置加速器
對於使用 systemd 的系統,請在 /etc/docker/daemon.json 中寫入如下內容(如果文件不存在請新建該文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
上面是【Docker入門到實踐】 的教程,我這邊使用 七牛雲加速器 進行配置。
# 創建配置的文件夾
$ sudo mkdir -p /etc/docker
# 創建 daemon.json 文件並且配置加速地址
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://reg-mirror.qiniu.com/"]
}
EOF
# 加載加速器地址和重啟 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
安裝 Docker-Compose
在 Linux 上的也安裝十分簡單,從 官方 GitHub Release 處直接下載編譯好的二進制文件即可。
例如,在 Linux 64 位系統上直接下載對應的二進制包。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
使用 Docker-Compose 檢查是否安裝成功
$ docker-compose -v
docker-compose version 1.17.1, build 6d101fb
Docker-Compose 已經安裝成功,得給 /usr/local/bin/docker-compose 文件夾分配權限。
$ sudo chmod +x /usr/local/bin/docker-compose
這篇文章只是記錄在下安裝 Docker 和 Docker-Compose 筆記,沒有更高層次講解怎么使用 Docker 和 Docker-Compose 請大家見諒。后面陸陸續續有 Docker 的實戰文章呈上。
中文文檔:https://docs.docker-cn.com/engine/installation/
Docker入門到實踐:https://docker_practice.gitee.io/compose/install.html
強烈推薦新手入門學習看【Docker入門到實踐】
>原文:https://www.cnblogs.com/lfzm/p/10617881.html
