【亿码酷站-编程开发教程】收集全网优质教程及源码资源!

全网优质软件开发、平面设计等教程及精品源码资源一站可得,www.ymkuzhan.com!

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 ./\
#!/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.安装docker\n'
    echo -e '2.安装docker-compose\n'
    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
#初始化 function init(){ clear echo -e '请选择操作\n' echo -e '1.安装docker\n' echo -e '2.安装docker-compose\n' 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下如何离线安装docker和docker-compose
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除

Pandas 最详细教程

云服务器推荐