Docker 简介
Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,实现“一次构建,随处运行”。容器技术通过操作系统级虚拟化实现资源隔离,相比传统虚拟机更轻量、高效。
为什么需要 Docker?
-
环境一致性
-
开发、测试、生产环境不一致会导致“在我机器上能运行”的问题。Docker 容器确保环境完全一致。
-
-
快速部署与扩展
-
容器秒级启动,适合微服务架构和动态扩缩容。
-
-
资源高效利用
-
容器共享宿主机内核,无需为每个应用分配独立操作系统资源,资源占用更少。
-
-
依赖隔离
-
不同应用的依赖(如 Python 2 和 Python 3)可共存于同一宿主机,互不冲突。
-
核心概念
-
镜像(Image)
-
只读模板,包含运行应用所需的代码、库、环境等(如 Ubuntu + Nginx + 代码)。
-
镜像通过分层存储(Layer)实现复用,节省磁盘空间。
-
-
容器(Container)
-
镜像的运行实例,具有独立的文件系统、网络和进程空间。
-
-
仓库(Registry)
-
存储和分发镜像的平台。公共仓库如 Docker Hub,私有仓库可自建(如 Harbor)。
-
安装Docker
这里以Centos为例
1.卸载旧版
首先如果系统中已经存在旧的Docker,则先卸载:
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ docker-selinux
2.配置Docker的yum库
首先要安装一个yum工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
安装成功后,执行命令,配置Docker的yum源(已更新为阿里云源):
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
更新yum,建立缓存
sudo yum makecache fast
3.安装Docker
最后,执行命令,安装Docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.启动和校验
# 启动Docker
systemctl start docker# 停止Docker
systemctl stop docker# 重启
systemctl restart docker# 设置开机自启
systemctl enable docker# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps
5.配置镜像加速
镜像地址可能会变更,如果失效可以百度找最新的docker镜像。
配置镜像步骤如下:
# 创建目录
mkdir -p /etc/docker# 复制内容
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["http://hub-mirror.c.163.com","https://mirrors.tuna.tsinghua.edu.cn","http://mirrors.sohu.com","https://ustc-edu-cn.mirror.aliyuncs.com","https://ccr.ccs.tencentyun.com","https://docker.m.daocloud.io","https://docker.awsl9527.cn"]
}
EOF# 重新加载配置
systemctl daemon-reload# 重启Docker
systemctl restart docker