參考資料 : https://www.jb51.net/article/167103.htm
一、優(yōu)勢說明:
1、包含安裝、卸載腳本,一鍵運行;
2、離線安裝方法適用性更強,對于部署在客戶的內(nèi)網(wǎng)環(huán)境下,尤為給力;
二、安裝包下載地址:
官網(wǎng)下載地址:https://download.docker.com/linux/static/stable/x86_64/

三、配置文件及腳本準備
1、準備docker.service 系統(tǒng)配置文件
新建文件命名為:docker.service,并將如下內(nèi)容粘貼進去,備用。
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
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
2、準備install.sh安裝腳本
新建文件命名為:install.sh,并將如下內(nèi)容粘貼進去,備用。
#!/bin/sh
echo '解壓tar包...'
tar -xvf $1
echo '將docker目錄移到/usr/bin目錄下...'
cp docker/* /usr/bin/
echo '將docker.service 移到/etc/systemd/system/ 目錄...'
cp docker.service /etc/systemd/system/
echo '添加文件權(quán)限...'
chmod +x /etc/systemd/system/docker.service
echo '重新加載配置文件...'
systemctl daemon-reload
echo '啟動docker...'
systemctl start docker
echo '設(shè)置開機自啟...'
systemctl enable docker.service
echo 'docker安裝成功...'
docker -v
3、準備uninstall.sh卸載腳本
新建文件命名為:uninstall.sh,并將如下內(nèi)容粘貼進去,備用。
#!/bin/sh
echo '刪除docker.service...'
rm -f /etc/systemd/system/docker.service
echo '刪除docker文件...'
rm -rf /usr/bin/docker*
echo '重新加載配置文件'
systemctl daemon-reload
echo '卸載成功...'
四、安裝
1、上傳至Linux
將上面準備好的四個文件上傳至Linux目標目錄(自己定就行,我的在 /usr/local/ 下)

2、執(zhí)行安裝腳本
[root@localhost local]# sh install.sh docker-17.03.1-ce.tgz
注意安裝腳本執(zhí)行的時候是帶參數(shù)的,這個不要忘了,參數(shù)根據(jù)自己下載的docker版本而定。
開始摁回車結(jié)果卻如下:

分別進入文件docker.service、install.sh、uninstall.sh的 vim 編輯模式下,鍵入命令:
:set fileformat=unix

執(zhí)行后要:wq進行保存
之后再執(zhí)行安裝腳本如下:

可以看到這次完美安裝,docker -v也看到版本號了,這時docker ps、docker search XX、docker images等命令都可以使用了,至于離線安裝鏡像等問題我會單獨再寫一篇,到時候會上鏈接 //TODO。
3、如果需要卸載
執(zhí)行腳本:sh uninstall.sh ,注意這里就不需要參數(shù)了,要和安裝腳本進行區(qū)別
[root@localhost local]# sh uninstall.sh

通過命令可以確認docker是否已經(jīng)卸載了。
五、總結(jié)
從上面第一次安裝失敗的截圖看,上圖中腳本邏輯并不完善,如果有擅長的同學能給予優(yōu)化是最好了。