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 安装