作者:京東科技 林中
Docker是一個開放的平臺,用于開發、發布和運行應用程序。Docker分離了應用程序和運行應用的基礎設施,從而實現了軟件的快速交付。利用docker提供的一系列功能,包括構建、發布、測試和部署,可以幫助開發人員將最新版本代碼應用到生產環境中。
Docker可以安裝在多個平臺中,包括Mac、Windows和Linux。不過,生產環境還是推薦在Linux上運行,以下以主流的Linux操作系統(CentOS和ubuntu)為例,說明Docker運行環境的安裝過程。
一、安裝
1、CentOS
1.1、檢查操作系統版本
Docker官方建議使用最新的穩定版本CentOS 9(stream)。不過,從docker-ce的發布軟件包來看,仍然支持CentOS7和CentOS8。詳細情況可參考清華大學的鏡像站,https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/。
1.2、卸載老版本的docker或docker-engine
如果你之前安裝過 docker,使用以下命令刪除舊的版本和依賴軟件。
sudo yum remove docker docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
需要說明的是:刪除舊版本docker,并不會刪除使用中的鏡像、容器實例、存儲卷和網絡配置,這些內容仍然保存在/var/lib/docker目錄下。
1.3、安裝docker運行環境
安裝docker engine的方法有多種,
1)docker官方提供的yum安裝源倉庫(repositories),可以方便的實現安裝和更新任務。 這也是官方推薦的方式。
2)下載docker的RPM軟件包,手工進行安裝和后續的更新。這個方式一般是在企業內網環境中,無法訪問internet的情況下采用。
3)使用自動化的安裝腳本https://get.docker.com/,自動完成安裝。適合于開發和測試環境。缺點是,因為國家網絡安全管理的限制,如何獲取這個腳本?本身就是一個問題。建議初學者,還是應該掌握軟件包管理的方法(yum,或者rpm),不要過度依賴于安裝腳本。
需要注意的是:安裝腳本中默認使用了國外的安裝源,文件的下載速度較低。腳本中允許指定國內的兩個安裝源, --mirror=Aliyun(或者AzurechinaCloud),可以加快部署。
以下使用方式1(docker官方提供的yum安裝源倉庫)進行安裝:
1、安裝yum倉庫管理工具,下載 repo 文件,并把軟件倉庫地址替換為國內鏡像站
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce
需要注意的是:當download.docker.com無法訪問時,可以通過國內鏡像站替代,比如:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
2、安裝docker engine、containerd和docker-compose
2.1 安裝最新版本
sudoyuminstalldocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
2.2 (可選)安裝指定版本
1)獲取倉庫中可用的版本清單
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 3:27.1.1-1.el9 docker-ce-stable
docker-ce.x86_64 3:27.1.0-1.el9 docker-ce-stable
<...>
說明:VERSION_STRING = 3:27.1.1-1.el9
2)安裝指定的版本
sudoyuminstalldocker-ce-docker-ce-cli-containerd.iodocker-buildx-plugindocker-compose-plugin
3)啟動docker
sudosystemctlstartdocker
2、ubuntu
注意:防火墻限制
Docker僅兼容iptables-nft和iptables-legacy,使用nft創建的防火墻規則在docker環境下不生效。
2.1、檢查操作系統版本
Docker官方建議使用的版本包括,
Ubuntu Noble 24.04 (LTS)
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
不過,從docker-ce的發布軟件包來看,仍然支持ubuntu的歷史版本。詳細情況可參考清華大學的鏡像站,https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/dists/。
2.2、卸載老版本的docker或docker-engine
如果你之前安裝過 docker,使用以下命令刪除舊的版本和依賴軟件:
forpkgindocker.iodocker-docdocker-composedocker-compose-v2podman-dockercontainerdrunc;dosudoapt-getremove$pkg;done
說明:刪除舊版本docker,并不會刪除使用中的鏡像、容器實例、存儲卷和網絡配置,這些內容仍然保存在/var/lib/docker目錄下。
2.3、安裝docker運行環境
安裝docker engine的方法有多種,
1)docker官方提供的apt安裝源倉庫(repository)
2)手工進行安裝和后續的更新。
3)使用自動化的安裝腳本https://get.docker.com/,適合于開發和測試環境。
以下使用方式1(docker官方提供的apt安裝源倉庫)進行安裝:
1、首先安裝依賴:
apt-get update
apt-get install ca-certificates curl gnupg
2、信任 Docker 的 GPG 公鑰并添加倉庫:
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" |
tee /etc/apt/sources.list.d/docker.list > /dev/null
3、最后安裝
3.1 安裝最新版本
sudoapt-getinstalldocker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
3.2 (可選)安裝指定版本
1)獲取倉庫中可用的版本清單
apt-cachemadisondocker-ce|awk'{print$3}'
5:27.1.1-1~ubuntu.24.04~noble
5:27.1.0-1~ubuntu.24.04~noble
...
說明:VERSION_STRING=5:27.1.1-1~ubuntu.24.04~noble
2)安裝指定的版本
VERSION_STRING=5:27.1.1-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
3)啟動docker
sudosystemctlstartdocker
二、配置docker鏡像國內加速
創建或更新文件:/etc/docker/daemon.json,內容如下:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://dockerproxy.com",
"https://docker.udayun.com",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
]
}
配置完成后,需要重新啟動docker
sudosystemctlrestartdocker
三、運行hello-world鏡像,驗證安裝結果
sudodockerrunhello-world
說明:以上命令執行過程中,會首先拉取hello-world鏡像,然后運行容器實例,當看到控制臺中顯示包含“Hello from Docker!”的提示信息時,表示安裝成功。
審核編輯 黃宇
-
運行環境
+關注
關注
0文章
9瀏覽量
7089 -
Docker
+關注
關注
0文章
458瀏覽量
11854
發布評論請先 登錄
相關推薦
評論