安装docker
创建docker 安装脚本:
vim install-docker.sh
内容如下:
#!/bin/bash
# 安装必要的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置Docker的稳定仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 配置缓存
sudo yum makecache fast
# 配置镜像加速器
folder="/etc/docker"
if [ ! -d "$folder" ]; then
# 文件夹不存在,创建文件夹
sudo mkdir -p "$folder"
echo "Folder created: $folder"
else
# 文件夹已存在
echo "Folder already exists: $folder"
fi
# 指定内容
content="{
\"registry-mirrors\": [\"http://hub-mirror.c.163.com\"]
}
"
# 指定文件路径
file="/etc/docker/daemon.json"
# 将指定内容写入指定文件
if [ ! -f "$file" ]; then
# 文件不存在,创建文件
echo "$content" > "$file"
echo "File created: $file"
else
# 文件已存在
echo "File already exists: $file"
fi
# 安装Docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
#加载镜像:
systemctl daemon-reload
# 启动Docker 并设置Docker开机自启
sudo systemctl start docker & systemctl enable docker
docker --version
sudo docker pull hello-world
# docker 显示格式 脚本
docker_print_shell="docker ps -a --format \"table {{.Names}}\t{{.ID}}\t{{.Image}}\t{{.CreatedAt}}\t{{.Status}}\"";
docker_print_file="/docker.sh"
if [ ! -f "$docker_print_file" ]; then
# 文件不存在,创建文件
echo "$docker_print_shell" > "$docker_print_file"
echo "File created: $docker_print_file"
else
# 文件已存在
echo "File already exists: $docker_print"
fi
chmod -R 777 $docker_print_file
为脚本赋权,执行脚本,脚本执行结束即安装成功:
chmod -R 777 install-docker.sh
# 执行脚本
sh install-docker.sh
安装docker-compose
同理,创建docker-compose 安装脚本:
vim install-docker-compose.sh
内容如下:
#!/bin/bash
# 下载Docker Compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 创建软链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose version
添加权限,执行脚本:
chmod -R 777 install-docker-compose.sh
# 执行脚本
sh install-docker-compose.sh
脚本执行结束,即安装成功,并且输出版本信息。