站长资讯网
最全最丰富的资讯网站

centos7下如何离线安装docker和docker-compose

centos7下如何离线安装docker和docker-compose

具体安装步骤如下:

(推荐教程: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)

上传到服务器

上传 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

赞(0)
分享到: 更多 (0)