一、什么是 Docker?
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖打包到一个独立的软件包中(称为容器),然后在任何环境中运行这些容器。容器化类似于虚拟机,但它更加轻量级且快速。
为什么要使用 Docker?
- 环境一致性:确保开发、测试和生产环境一致。
- 快速部署:容器启动速度快,便于快速迭代。
- 资源效率高:多个容器可以在同一主机上运行,共享操作系统内核,节省资源。
二、安装前的准备工作
1. 确保系统是最新的
在安装 Docker 之前,建议更新系统软件包。这可以确保所有依赖项都是最新版本,避免兼容性问题。
在 CentOS/RHEL 上:
sudo yum update -y
在 Ubuntu/Debian 上:
sudoapt-get update &&sudoapt-get upgrade -y
2. 安装必要的依赖工具
Docker 依赖一些系统工具和库,需要先安装这些依赖。
在 CentOS/RHEL 上:
sudo yum install -y \
yum-utils \
device-mapper-persistent-data \
lvm2
在 Ubuntu/Debian 上:
sudoapt-getinstall -y \
apt-transport-https \
ca-certificates \
curl\
software-properties-common
三、安装 Docker
1. 在 CentOS/RHEL 上安装 Docker
步骤 1:添加 Docker 的官方 YUM 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
步骤 2:安装 Docker CE(社区版)
sudo yum install -y docker-ce docker-ce-cli http://containerd.io docker-buildx-plugin docker-compose-plugin
步骤 3:启动 Docker 服务
sudo systemctl start docker
步骤 4:设置 Docker 开机自启动
sudo systemctl enabledocker
2. 在 Ubuntu/Debian 上安装 Docker
步骤 1:添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
步骤 2:添加 Docker 的官方 APT 仓库
echo\
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable"|sudotee /etc/apt/sources.list.d/docker.list > /dev/null
步骤 3:更新软件包索引
sudoapt-get update
步骤 4:安装 Docker CE(社区版)
sudoapt-getinstall -y docker-ce docker-ce-cli http://containerd.io docker-buildx-plugin docker-compose-plugin
步骤 5:启动 Docker 服务
sudo systemctl start docker
步骤 6:设置 Docker 开机自启动
sudo systemctl enabledocker
四、验证 Docker 安装
安装完成后,运行以下命令验证 Docker 是否正常工作:
sudodocker run -it --rm hello-world
如果输出包含 "Hello from Docker",则表示 Docker 已成功安装。
五、解决权限问题(非 root 用户操作)
默认情况下,只有 root 用户才能运行 Docker 命令。为了方便开发,可以将当前用户添加到 docker 组:
步骤 1:创建 docker 组
sudogroupadddocker
步骤 2:将当前用户添加到 docker 组
sudousermod -aG docker$USER
步骤 3:重新登录以使更改生效
newgrp docker
现在,你可以无需 sudo 命令运行 Docker。
六、安装 Docker Compose(可选)
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。如果你需要管理多个服务,建议安装它。
步骤 1:下载最新版本的 Docker Compose
sudocurl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
步骤 2:赋予执行权限
sudochmod +x /usr/local/bin/docker-compose
步骤 3:验证安装
docker-compose --version
七、Docker 的基本使用
1. 拉取镜像
从 Docker Hub 拉取一个镜像,例如 Nginx:
docker pull nginx:latest
2. 运行容器
运行 Nginx 容器并映射端口:
docker run -d --name my-nginx -p 80:80 nginx:latest
3. 查看正在运行的容器
dockerps
4. 停止和删除容器
停止容器:
docker stop my-nginx
删除容器:
dockerrm my-nginx
八、常见问题及解决方法
1. Docker 服务无法启动
检查日志以获取错误信息:
journalctl -u docker --since "5 minutes ago"
如果遇到权限问题,确保 docker 组配置正确。
2. 镜像下载速度慢
可以尝试更换镜像源,例如使用国内的镜像加速器(如阿里云)。
修改 Docker 的镜像源
编辑 /etc/docker/daemon.json 文件,添加以下内容:
{
"registry-mirrors":["https://your_mirror_address.mirror.aliyuncs.com"]
}
然后重启 Docker 服务:
sudo systemctl restart docker
九、卸载 Docker(如果需要)
如果你需要卸载 Docker,可以执行以下步骤:
在 CentOS/RHEL 上:
sudo yum remove -y docker-ce docker-ce-cli http://containerd.io docker-buildx-plugin docker-compose-plugin
在 Ubuntu/Debian 上:
sudoapt-get purge -y docker-ce docker-ce-cli http://containerd.io docker-buildx-plugin docker-compose-plugin
然后删除相关数据和配置文件:
sudorm -rf /var/lib/docker
sudorm -rf /etc/docker
十、总结
通过以上步骤,你可以在 Linux 系统上成功安装并配置 Docker。Docker 的核心优势在于其轻量级和快速的容器化技术,能够显著提升开发和部署效率。如果你有进一步的问题或需要深入学习,可以参考官方文档或加入相关社区获取帮助!