Centos7安装Docker
简介
Docker是一种开源平台和工具,用于轻松构建、部署和运行应用程序容器。容器是一种独立的、可移植的运行环境,其中包含了应用程序及其所有依赖项,如库、配置文件和运行时。Docker 提供了一种容器化技术,使开发人员能够将应用程序及其环境打包成容器,然后在不同的计算机或云服务器上运行这些容器,而无需担心环境差异或依赖项冲突。
-
容器化:Docker 利用容器技术,将应用程序及其所有依赖项打包到一个独立的容器中。这样,容器可以在各种环境中一致地运行,减少了部署和运维的复杂性。
-
镜像:Docker 使用镜像作为容器的构建模块。镜像是一个只读的文件,包含了应用程序的代码、依赖项和配置。容器可以基于镜像创建,并且镜像可以共享和重复使用。
-
Docker Hub:这是一个 Docker 镜像的集中存储库,开发人员可以在其中分享和获取预构建的镜像,以加速开发和部署。
-
容器编排:Docker 提供了容器编排工具,如Docker Compose和Kubernetes,用于管理多个容器的部署、扩展和协同工作。
-
跨平台:Docker 可以在不同的操作系统上运行,包括Linux、Windows和macOS。这使得应用程序可以在不同平台上轻松部署和运行。
Docker 已经成为现代应用程序开发和部署的重要工具,可以加速开发周期、简化部署流程,并提供了更好的隔离性和可移植性。它在容器化、微服务架构和云计算领域得到广泛应用。
安装
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
配置yum源
需要检查
python -V
版本,使用python3会有问题
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
...等待...
设置开机启动并现在启动
systemctl enable docker --now
检查是否安装成功
添加docker的控制脚本
docker_control.sh
#!/bin/bash
# ANSI颜色代码
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color
while true; do
printf "${GREEN}请选择一个功能:${NC} "
printf "1. 查看 Docker状态 2. 启动 Docker 3. 关闭 Docker 4. 查看 Docker版本 5. 退出\n"
read choice
case $choice in
1)
if systemctl is-active docker &>/dev/null; then
echo -e "${GREEN}Docker 正在运行。${NC}"
else
echo -e "${RED}Docker 未运行。${NC}"
fi
;;
2)
if systemctl is-active docker &>/dev/null; then
echo -e "${GREEN}Docker 已经在运行。${NC}"
else
sudo systemctl start docker
echo -e "${GREEN}Docker 启动成功。${NC}"
fi
;;
3)
if systemctl is-active docker &>/dev/null; then
sudo systemctl stop docker
echo -e "${RED}Docker 已关闭。${NC}"
else
echo -e "${RED}Docker 未运行。${NC}"
fi
;;
4)
docker --version
;;
5)
echo "退出脚本。"
break
;;
*)
echo -e "${RED}无效的选择,请重新选择。${NC}"
;;
esac
done
设置容器镜像加速(可选)
在阿里云找到镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
我这里以CentOS为例
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://hrlaesjl.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
参考:
官网:https://docs.docker.com/engine/install/centos/
文档:https://www.yuque.com/leifengyang/oncloud/mbvigg
阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors