Docker安裝詳細教程 離線 Linux (含腳本)

參考資料 : 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.shvim 編輯模式下,鍵入命令:

: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)化是最好了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容