铁甲将军夜渡关,朝臣待漏五更寒;山寺日高僧未起,算来名利不如闲。
想用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
网友评论