Docker系列之二:離線安裝docker
阿新 • • 發佈:2020-12-23
目錄
4 離線安裝docker
在Linux系統中安裝docker,可通過線上安裝(centos的yum,ubuntu的apt-get等)、離線rpm包安裝、二進位制檔案安裝等。基於一些環境因素的限制,不能通過線上安裝,或者有rpm離線安裝包依賴的問題。
此離線安裝docker的方法經過本人多次試驗,均可以成功安裝並執行docker。
適用於系統映象源已自帶相關依賴包:
4.1 yum源rpm包安裝
- 首先在另一臺有網的機器上,yum線上安裝docker之前修改yum的配置檔案;
- yum預設是不會保留安裝包的,然後修改yum的配置檔案/etc/yum.conf把 keepcache=1;
- yum安裝的依賴包、服務包,都在 cachedir=/var/cache/yum/$basearch/$releasever下面,此目錄可以在yum的配置檔案中修改;
- 然後用 find/var/cache/yum/-name"*.rpm" 找出所需的安裝包和依賴包下載打包到離線機器上安裝即可。
- 安裝docker的rpm包:
rpm -ivh containerd.io-1.2.13-3.2.el7.x86_64.rpm docker-ce-19.03.7-3.el7.x86_64.rpm container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm docker-ce-cli-19.03.7-3.el7.x86_64.rpm --force --nodeps
4.2 官網rpm包直接下載
下載地址:https://download.docker.com/linux/
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
1. 將下載好的包上傳進機器的某個目錄裡;
2. 本地rpm包安裝:
rpm -ivh containerd.io-1.2.13-3.2.el7.x86_64.rpm docker-ce-19.03.7-3.el7.x86_64.rpm container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm docker-ce-cli-19.03.7-3.el7.x86_64.rpm --force --nodeps
3. 開啟服務
[[email protected] package]# systemctl start docker
// 開機自啟docker服務 或 “systemctl enable docker” 命令
[[email protected] ~]# chkconfig docker on
4.3 二進位制壓縮包安裝
在官網選擇具體的版本,比如我選擇的是docker-19.03.7版本;
[[email protected] ~]# mkdir -p ~/tools/docker
[[email protected] ~]# cd ~/tools/docker
// 有網可以使用wget命令下載,若離線則下載完成後傳輸到機器的 ~/tools/docker 目錄
[[email protected] docker]# wget https://download.docker.com/linux/static/stable/x86_64/docker-19.03.7.tgz
1. 使用者組配置
// 新建使用者組
[[email protected] ~]# groupadd docker
// 將登入使用者加入到docker使用者組中
[[email protected] ~]# usermod -aG docker $USER
// 更新使用者組
[[email protected] ~]# newgrp docker
2. 安裝包解壓
[[email protected] ~]# cd ~/tools/docker
[[email protected] docker]# mkdir install-package
// 用於清理
[[email protected] docker]# tar -xf docker-19.03.7.tgz -C install-package --strip-components=1
// 解壓安裝至/usr/local/bin目錄下
[[email protected] docker]# tar -xf docker-19.03.7.tgz -C /usr/local/bin --strip-components=1
3. 配置docker.service服務
// 修改docker預設儲存路徑
[[email protected] ~]# mkdir -p ~/data/docker
在Linux系統配置systemctl管理的服務資訊:參考官網文件。
修改/etc/systemd/system/docker.service服務配置檔案後,需要執行systemctl daemon-reload 重新載入後生效。
[[email protected] ~]# vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# ExecStart的啟動可選引數,可通過dockerd --help檢視
ExecStart=/usr/local/bin/dockerd -H unix://var/run/docker.sock --data-root=/home/root/data/docker
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
4. 啟動docker服務
[[email protected] ~]# systemctl daemon-reload
// 通過systemctl啟動docker服務
[[email protected] ~]# systemctl start docker
// 設定為開機啟動
[[email protected] ~]# systemctl enable docker
// 驗證開放2375埠,若開放了,建議把2375埠關掉
[[email protected] ~]# netstat -lntp | grep dockerd
適用於最小系統映象源無相關依賴包:
若前面的3種方法不可行,則可以使用此方法
4.4 rpm包安裝docker服務(推薦)
將docker 的安裝包及其依賴包上傳到指定目錄裡:
本人上傳的rpm包及依賴包:https://download.csdn.net/download/Sara_cloud/13695259
// 強制安裝docker服務
[[email protected] rpm安裝包]# rpm -ivh *.rpm --force --nodeps
//--nodeps 安裝時不檢查依賴關係
//--force 強制安裝
// 開啟服務
[[email protected] package]# systemctl start docker
// 開機自啟docker服務 或 “chkconfig docker on” 命令
[[email protected] ~]# systemctl enable docker