具體安裝步驟如下:
(推薦教程:docker教程)
實測版本說明
-
centos:7.5
-
docker:19.03.5
-
docker-compose:1.24.3
官方資源下載地址
自行下載需要的版本。 [docker](https://download.docker.com/linux/static/stable/x86_64/) [docker-compose](https://github.com/docker/compose/releases)
上傳到服務(wù)器
上傳 install-docker-offline.sh docker.service docker-ce docker-compose-Linux-x86_64壓縮包到任意的同一文件夾下 建議到/home
執(zhí)行
sh install-docker-offline.sh 其他的根據(jù)腳本提示操作
install.sh
#!/bin/sh echo -e '作者:Teler' echo -e '版本:v0.0.1' echo -e '創(chuàng)建時間:2020-02-02' echo -e '更新時間:2020-02-02 22:21' echo -e '給自己賦權(quán)限n' chmod +x ./$0 #初始化 function init(){ clear echo -e '請選擇操作n' echo -e '1.安裝dockern' echo -e '2.安裝docker-composen' echo -e 'exit:退出' call } #決定調(diào)用什么方法 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復(fù)制失敗' exit fi echo -e 'n將docker.service 移到/etc/systemd/system/ 目錄...' cp docker.service /etc/systemd/system/ if [ $? -eq 0 ];then echo -e 'n添加文件權(quá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設(shè)置開機(jī)自啟...' systemctl enable docker.service if [ $? -ne 0 ];then echo -e 'n開機(jī)啟動失敗' exit fi echo -e 'ndocker版本:' docker -v else echo -e 'n復(fù)制失敗' 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復(fù)制文件到/usr/local/bin下 并重命名為docker-compose' cp -y $FILENAME /usr/local/bin/docker-compose if [ $? -ne 0 ];then echo -e 'n賦予執(zhí)行權(quán)限' chmod +x /usr/local/bin/docker-compose echo 'ndocker-compose版本:' docker-compose -v else echo 'n復(fù)制失敗' 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