51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

docker-compose 安装

docker compose 安装

docker-compose:
指的是在单机节点上批量管理一组容器的方法,目前比较主流的单机编排工具是"docker-compose"。

如上图所示,是docker版本和docker-comopse的对应关系。
推荐阅读:
https://docs.docker.com/compose/compose-file/
https://docs.docker.com/compose/compose-file/compose-versioning/

三种安装docker-compose方式:

(1)使用epel源直接安装(缺点就是版本较低,docker-compose version 1.18.0,)

# yum -y install epel-release
# yum -y install docker-compose

(2)给docker打补丁安装(先安装docker,再docker compose补丁,一般情况是最新版本)

 curl -s -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
 yum -y install docker-compose-plugin
 vim /root/.bashrc 
...
alias docker-compose='docker compose'

 source /root/.bashrc 

#  yum -y remove docker-compose-plugin  # 卸载软件

白眉大叔用这种方式安装的。

docker-compose 升级

如果遇到这样的问题,就需要升级了

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.

whereis docker-compose

/usr/bin/docker-compose

根据上一步的whereis找到了docker-compose的路径为:/usr/bin/docker-compose,所以下面的脚本,路径也替换为这个就可以了。

下载一个

https://github.com/docker/compose/releases/

或直接下载centos地址

https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64

改名

mv docker-compose-linux-x86_64 docker-compose

chmod +x docker-compose

mv docker-compose /usr/bin/

检查

docker-compose  version

(3)基于二进制安装(需要从GitHub下载软件包,不推荐!速度慢!)

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

参考链接:
https://docs.docker.com/compose/install/linux/
https://docs.docker.com/compose/install/other/
GitHub加速地址: (慎入哟,尤其是需要登录时不建议使用,公开的项目是可以下载的!)
https://hub.nuaa.cf/
https://ghproxy.com
自定义脚本安装: 推荐:

sh install-docker.sh install

这个脚本可以 实现 docker 和 docker-cojmpose 的安装

docker and docker-compose install binary: https://url69.ctfile.com/d/253469-56495921-56a066?p=2206 (访问密码: 2206)

install-docker.sh 内容:

#!/bin/bash
# auther: baimei
# 官网地址: www.baimeidashu.com

# DOCKER_VERSION=24.0.2
DOCKER_VERSION=20.10.24
# DOCKER_VERSION=19.03.15
# DOCKER_COMPOSE_VERSION=2.17.3
DOCKER_COMPOSE_VERSION=2.18.1
FILENAME=docker-${DOCKER_VERSION}.tgz
DOCKER_COMPOSE_FILE=docker-compose-v${DOCKER_COMPOSE_VERSION}
URL=https://download.docker.com/linux/static/stable/x86_64
# DOCKER_COMPOSE_URL=https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64
DOCKER_COMPOSE_URL=https://hub.nuaa.cf/docker/compose/releases/download/v${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64
DOWNLOAD=./download
BASE_DIR=/baimei/softwares


# 判断是否下载了docker-compose
function prepare(){
   # 判断是否下载docker-compose文件
   if [ ! -f ${DOWNLOAD}/${DOCKER_COMPOSE_FILE} ]; then
      wget -T 3  -t 2 ${DOCKER_COMPOSE_URL} -O ${DOWNLOAD}/${DOCKER_COMPOSE_FILE}
   fi
   
   if [ $? != 0 ];then
     rm -f ${DOWNLOAD}/${DOCKER_COMPOSE_FILE}
     echo "不好意思,由于网络波动原因,无法下载${DOCKER_COMPOSE_URL}软件包,程序已退出!请稍后再试......"
     exit 100
   fi

   # 给脚本添加执行权限
   chmod +x ${DOWNLOAD}/${DOCKER_COMPOSE_FILE}
}


# 定义安装函数
function InstallDocker(){
    # 判断文件是否存在,若不存在则下载软件包
    if [ ! -f ${DOWNLOAD}/${FILENAME} ]; then
       wget ${URL}/${FILENAME} -O ${DOWNLOAD}/${FILENAME}
    fi
    
    # 判断解压路径是否存在
    if [ ! -d ${BASE_DIR} ]; then
      install -d ${BASE_DIR}
    fi
    
    # 解压软件包到指定目录
    tar xf ${DOWNLOAD}/${FILENAME} -C ${BASE_DIR}
    
    # 安装docker-compose
    prepare
    cp $DOWNLOAD/${DOCKER_COMPOSE_FILE} ${BASE_DIR}/docker/docker-compose

    # 创建软连接
    ln -svf ${BASE_DIR}/docker/* /usr/bin/
    
    # 自动补全功能
    cp $DOWNLOAD/docker /usr/share/bash-completion/completions/docker
    source /usr/share/bash-completion/completions/docker
    
    # 配置镜像加速
    install -d /etc/docker
    cp $DOWNLOAD/daemon.json /etc/docker/daemon.json
    

    # 开机自启动脚本
    cp download/docker.service /usr/lib/systemd/system/docker.service
    systemctl daemon-reload
    systemctl enable --now docker
    docker version
    docker-compose version
    tput setaf 3
    echo "安装成功,欢迎使用白眉大叔二进制docker安装脚本,欢迎下次使用!---> www.baimeidashu.com"
    tput setaf 2
}


# 卸载docker
function UninstallDocker(){
  # 停止docker服务
  systemctl disable --now docker

  # 卸载启动脚本
  rm -f /usr/lib/systemd/system/docker.service

  # 清空程序目录
  rm -rf ${BASE_DIR}/docker

  # 清空数据目录
  rm -rf /var/lib/{docker,containerd} 

  # 清除符号链接
  rm -f /usr/bin/{containerd,containerd-shim,containerd-shim-runc-v2,ctr,docker,dockerd,docker-init,docker-proxy,runc}

  # 使得终端变粉色
  tput setaf 5
  echo "卸载成功,欢迎再次使用白眉大叔二进制docker安装脚本哟~ ----> www.baimeidashu.com"
  tput setaf 7
}


# 程序的入口函数
function main(){
   # 判断传递的参数
   case $1 in
     "install")
      InstallDocker
      ;;
     "remove")
      UninstallDocker
      ;;
     *)
       echo "Invalid parameter, Usage: $0 install|remove"
       ;;
   esac
}

# 向入口函数传参
main $1 

检查:

说明 成功安装
docker and docker-compose install binary: https://url69.ctfile.com/d/253469-56495921-56a066?p=2206 (访问密码: 2206)

赞(5)
未经允许不得转载:工具盒子 » docker-compose 安装