Docker 安裝及配置鏡像加速的實現
Docker 版本
隨著 Docker 的飛速發(fā)展,企業(yè)級功能的上線,更好的服務意味著需要支付一定的費用,目前 Docker 被分為兩個版本:
- community-edition 社區(qū)版
- enterprise-edition 企業(yè)版
Docker 企業(yè)版(EE)專為企業(yè)開發(fā)和 IT 團隊設計,可在大規(guī)模生產中構建,運送和運行關鍵業(yè)務應用程序。Docker EE 集成,認證和支持,為企業(yè)提供業(yè)界最安全的容器平臺,實現所有應用程序的現代化。作為一個以應用為中心的平臺,Docker EE 旨在加速和保護整個軟件供應鏈,從開發(fā)到在任何基礎設施上運行的生產。
我們學習 Docker 使用 CE 社區(qū)版即可。

在 CentOS 上安裝 Docker 引擎

Docker 支持 Mac Windows Linux,本文使用 Linux 環(huán)境教大家如何基于 CentOS 安裝 Docker 及配置鏡像加速。
系統要求
官網提示如果要安裝 Docker Engine,您需要一個 CentOS 7 以及以上的穩(wěn)定版本。
卸載舊版本
較舊的 Docker 版本為 docker 或 docker-engine。 如果已安裝這些程序,請卸載它們以及相關的依賴項。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
Docker 鏡像、容器、數據卷和網絡數據都保存在 /var/lib/docker/。新的 Docker 引擎包現在為 Docker-ce。
設置 yum 源
安裝 yum-utils 軟件包(提供了 yum-config-manager 程序)并設置穩(wěn)定的 yum 源方便下載 Docker Engine。
# 安裝 yum-utils sudo yum install -y yum-utils # 設置 yum 源為阿里云方便下載 Docker Engine sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Docker 安裝
安裝最新版本的 Docker Engine 和容器。
sudo yum install docker-ce docker-ce-cli containerd.io

安裝過程中如果提示您接受 GPG 密鑰,請驗證指紋是否與 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 匹配,如果是,請接受。
Docker 的啟動與停止
# 啟動 docker sudo systemctl start docker # 停止 docker sudo systemctl stop docker # 重啟 docker sudo systemctl restart docker # 設置開機啟動 sudo systemctl enable docker # 查看 docker 狀態(tài) sudo systemctl status docker # 查看 docker 內容器的運行狀態(tài) sudo docker stats # 查看 docker 概要信息 sudo docker info # 查看 docker 幫助文檔 sudo docker --help
安裝校驗
[root@localhost ~]# docker -v Docker version 19.03.12, build 48a66213fe [root@localhost ~]# docker version Client: Docker Engine - Community Version: 19.03.12 API version: 1.40 Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:46:54 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.12 API version: 1.40 (minimum version 1.12) Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:45:28 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
配置鏡像加速
Docker 從 Docker Hub 拉取鏡像,因為是從國外獲取,所以速度較慢,會出現以下情況:
[root@localhost ~]# docker run hello-world Unable to find image 'hello-world:latest' locally docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/latest: net/http: TLS handshake timeout. See 'docker run --help'.
可以通過配置國內鏡像源的方式,從國內獲取鏡像,提高拉取速度。這里介紹中國科學技術大學(LUG@USTC)的開源鏡像:https://docker.mirrors.ustc.edu.cn 和網易的開源鏡像:http://hub-mirror.c.163.com
USTC 是老牌的 Linux 鏡像服務提供者了,USTC 的 Docker 鏡像加速服務速度很快。USTC 和網易的優(yōu)勢之一就是不需要注冊,屬于真正的公共服務。(也可以使用阿里等其他服務商的鏡像加速服務)

編輯文件 daemon.json 。
vi /etc/docker/daemon.json
在文件中輸入以下內容并保存。
{
"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
重新加載配置信息及重啟 Docker 服務。
# 重新加載某個服務的配置文件 sudo systemctl daemon-reload # 重新啟動 docker sudo systemctl restart docker
hello-world
通過運行 hello-world 鏡像來驗證 Docker Engine 是否已正確安裝。
[root@localhost ~]# docker run hello-world Unable to find image 'hello-world:latest' locally # 本地找不到 hello-world 鏡像 latest: Pulling from library/hello-world # 拉取最新版本的 hello-world 鏡像 0e03bdcc26d7: Pull complete Digest: sha256:49a1c8800c94df04e9658809b006fd8a686cab8028d33cfba2cc049724254202 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 run hello-world 命令執(zhí)行流程圖如下。

通過以上步驟大家已完成 Docker 安裝的所有工作,接下來通過學習鏡像命令和容器命令更加熟悉 Docker 的使用。
到此這篇關于Docker 安裝及配置鏡像加速的實現的文章就介紹到這了,更多相關Docker 安裝及鏡像加速內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker覆蓋鏡像默認命令之docker?entrypoint詳解
entrypoint命令就是覆蓋ENTRYPOINT命令的,本文給大家介紹了docker覆蓋鏡像默認命令之docker?entrypoint的相關知識,需要的朋友可以參考下2023-10-10
Docker 制作鏡像Dockerfile和commit操作
這篇文章主要介紹了Docker 制作鏡像Dockerfile和commit操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
idea鏈接不上虛擬機的docker里的mongodb問題及解決
這篇文章主要介紹了idea鏈接不上虛擬機的docker里的mongodb問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
Docker數據卷掛載命令volume(-v)與mount的使用總結
本文主要介紹了Docker數據卷掛載命令volume(-v)與mount的使用總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-08-08

