centos7下如何離線安裝docker和docker-compose

centos7下如何離線安裝docker和docker-compose

具體安裝步驟如下:

(推薦教程:docker教程

實測版本說明

官方資源下載地址

自行下載需要的版本。 [docker](https://download.docker.com/linux/static/stable/x86_64/) [docker-compose](https://github.com/docker/compose/releases)

上傳到服務器

上傳?install-docker-offline.sh?docker.service?docker-ce?docker-compose-Linux-x86_64壓縮包到任意的同一文件夾下?? 建議到/home

執行

sh?install-docker-offline.sh  其他的根據腳本提示操作

install.sh

#!/bin/sh echo?-e?'作者:Teler' echo?-e?'版本:v0.0.1' echo?-e?'創建時間:2020-02-02' echo?-e?'更新時間:2020-02-02?22:21'  echo?-e?'給自己賦權限n' chmod?+x?./$0  #初始化 function?init(){ ????clear ????echo?-e?'請選擇操作n' ????echo?-e?'1.安裝dockern' ????echo?-e?'2.安裝docker-composen' ????echo?-e?'exit:退出' ???? ????call }?  #決定調用什么方法 function?call(){ ????echo?-e?'n' ????read?-p?'請輸入:'?INPUT ????case?$INPUT?in ????????1) ????????installDocker ????????;; ????????2) ????????installDockerCompose ????????;; ??????????????? ????????*) ????????#noFound ????????echo?'感謝使用........' ????????exit ????????;; ????esac  ????if?[?$??-eq?0?];then ????????init ????fi? }  #安裝docker function?installDocker(){ ????read?-p?'請輸入完整的docker壓縮包文件名:'?FILENAME  ????searchFile?$FILENAME  ????if?[?$??-ne?0?];then ????????echo?-e?'n文件不存在' ????????installDocker ????fi  ????echo?-e?'n解壓文件...' ????tar?-xzvf?$FILENAME ????if?[?$??-eq?0?];then ????????echo?-e?'n將docker目錄移到/usr/bin目錄下...' ????????cp?docker/*?/usr/bin/ ????????if?[?$??-ne?0?];then ????????????echo?-e?'n復制失敗' ????????????exit ????????fi ????????echo?-e?'n將docker.service?移到/etc/systemd/system/?目錄...' ????????cp?docker.service?/etc/systemd/system/ ????????if?[?$??-eq?0?];then ????????????echo?-e?'n添加文件權限...' ????????????chmod?+x?/etc/systemd/system/docker.service ????????????if?[?$??-ne?0?];then ????????????????echo?-e?'n添加失敗' ????????????????exit ????????????fi ????????????echo?-e?'n重新加載配置文件...' ????????????systemctl?daemon-reload ????????????if?[?$??-ne?0?];then ????????????????echo?-e?'n加載失敗' ????????????????exit ????????????fi ????????????echo?-e?'n啟動docker...' ????????????systemctl?start?docker ????????????if?[?$??-ne?0?];then ????????????????echo?-e?'n啟動失敗' ????????????????exit ????????????fi ????????????echo?-e?'n設置開機自啟...' ????????????systemctl?enable?docker.service ????????????if?[?$??-ne?0?];then ????????????????echo?-e?'n開機啟動失敗' ????????????????exit ????????????fi ????????????echo?-e?'ndocker版本:' ????????????docker?-v ????????else ????????????echo?-e?'n復制失敗' ????????????exit ????????fi ????else ????????echo?-e?'n解壓失敗' ????????exit???? ????fi ????return?0 } #安裝docker-compose function?installDockerCompose(){ ????read?-p?'請輸入完整的docker?compose文件名:'?FILENAME  ????searchFile?$FILENAME  ????if?[?$??-ne?0?];then ????????echo?-e?'n文件不存在' ????????installDockerCompose ????fi  ????echo?-e?'n復制文件到/usr/local/bin下?并重命名為docker-compose' ????cp?-y?$FILENAME?/usr/local/bin/docker-compose ????if?[?$??-ne?0?];then ????????echo?-e?'n賦予執行權限' ????????chmod?+x?/usr/local/bin/docker-compose  ????????echo?'ndocker-compose版本:' ????????docker-compose?-v ????else? ????????echo?'n復制失敗' ????fi   ????return?0 }  #暫未支持 function?noFound(){ ????echo?-e?'暫未支持' ????return?0 }  #檢查文件是否存在 #存在返回0?不存在返回1 function?searchFile(){ ????if?[?-f?"$1"?];?then ????????return?0 ????else? ????????return?1 ????fi }     init

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

以上就是centos7下如何離線安裝

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享