美文网首页
Shell脚本运行docker-compose启动命令报错

Shell脚本运行docker-compose启动命令报错

作者: 李小二的倔强 | 来源:发表于2022-09-27 16:26 被阅读0次

铁甲将军夜渡关,朝臣待漏五更寒;山寺日高僧未起,算来名利不如闲。

想用shell文件实现登陆docker仓库、拉取镜像,给镜像打标签、删除没用镜像、使用docker-compose文件启动镜像

Shell脚本如下:

#!/bin/bash
docker_username="opendatachain@1700029786238904.onaliyun.com"
docker_password="opendatachain123"
docker_version=""
docker_registry="registry.cn-beijing.aliyuncs.com"

sudo echo -e "\033[32m --start-- \033[0m"

#sudo echo -e "\033[33m please input username: \033[0m"
#read -r docker_username

#sudo echo -e "\033[33m please input password: \033[0m"
#read -r docker_password

sudo echo -e "\033[33m please input version: \033[0m"
read -r docker_version

#sudo echo -e "\033[33m docker_username:${docker_username}  docker_password:${docker_password} docker_version:${docker_version} \033[0m"
sudo echo -e "\033[33m docker_version:${docker_version} \033[0m"

sudo docker login --username=$docker_username --password=$docker_password ${docker_registry}

sudo echo -e "\033[32m 1.pull image from route \033[0m"
sudo docker pull "$docker_registry/opendatachain/openjdk:11-jre-slim"
sudo docker pull "$docker_registry/opendatachain/mongo:latest"
sudo docker pull "$docker_registry/opendatachain/kibana:7.9.3"
sudo docker pull "$docker_registry/opendatachain/elasticsearch:7.9.3"
sudo docker pull "$docker_registry/opendatachain/rabbitmq:3.8.3-management"
sudo docker pull "$docker_registry/opendatachain/odc-node:$docker_version"
sudo docker pull "$docker_registry/opendatachain/odc-order:$docker_version"

sudo echo -e "\033[32m 2.tag images \033[0m"
sudo docker tag "$docker_registry/opendatachain/openjdk:11-jre-slim" openjdk:11-jre-slim
sudo docker tag "$docker_registry/opendatachain/mongo:latest" mongo:latest
sudo docker tag "$docker_registry/opendatachain/kibana:7.9.3" kibana:7.9.3
sudo docker tag "$docker_registry/opendatachain/elasticsearch:7.9.3" elasticsearch:7.9.3
sudo docker tag "$docker_registry/opendatachain/rabbitmq:3.8.3-management" rabbitmq:3.8.3-management
sudo docker tag "$docker_registry/opendatachain/odc-node:$docker_version" odc-node:$docker_version
sudo docker tag "$docker_registry/opendatachain/odc-order:$docker_version" odc-order:$docker_version

sudo echo -e "\033[32m 3.remove old tag images \033[0m"
sudo docker rmi "$docker_registry/opendatachain/openjdk:11-jre-slim"
sudo docker rmi "$docker_registry/opendatachain/mongo:latest"
sudo docker rmi "$docker_registry/opendatachain/kibana:7.9.3"
sudo docker rmi "$docker_registry/opendatachain/elasticsearch:7.9.3"
sudo docker rmi "$docker_registry/opendatachain/rabbitmq:3.8.3-management"
sudo docker rmi "$docker_registry/opendatachain/odc-node:$docker_version"
sudo docker rmi "$docker_registry/opendatachain/odc-order:$docker_version"

sudo docker images

sudo echo -e "\033[32m 4.running docker-compose  \033[0m"
sudo docker-compose -f odc-base-compose.yaml up -d
sudo docker-compose -f odc-node-compose.yaml up -d
sudo docker-compose -f odc-order-compose.yaml up -d

sudo docker ps

sudo echo -e "\033[32m --end-- \033[0m"

使用sudo docker-compose -f odc-base-compose.yaml up -d 命令时就会出现如下错误
普通权限下 docker-compose -f odc-base-compose.yaml up -d 正常

 4.running docker-compose  
sudo: docker-compose: command not found
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

错误原因:

yum安装后,通过whereis docker-compose 查看路径,只在/usr/local/bin/docker-compose目录下生成,而 /usr/bin/docker-compose没有

[root@localhost odc]# whereis docker-compose
docker-compose: /usr/local/bin/docker-compose

解决方案:

1、 cp命令将docker-compose复制过去就可以了
[root@localhost odc]# whereis docker-compose
docker-compose: /usr/local/bin/docker-compose

# 那么问题就好解决了,直接复制一份过去完事
[root@localhost odc]# sudo cp -r  /usr/local/bin/docker-compose  /usr/bin/docker-compose

# 最后验证一下,完美解决!
[root@localhost odc]# sudo docker-compose -v
docker-compose version 1.24.0-rc1, build 0f3d4dda
2、使用普通权限去掉sudo

相关文章

网友评论

      本文标题:Shell脚本运行docker-compose启动命令报错

      本文链接:https://www.haomeiwen.com/subject/yaucartx.html