如何在你的服务器上安装 Docker
在服务器上部署 Docker 的完整指南
Docker 已经成为现代软件开发和部署流程中不可或缺的一部分。它通过容器化技术,将应用程序及其依赖项打包成一个独立的单元,从而实现在不同环境之间的一致性和可移植性。本文将提供一份详尽的指南,教你如何在服务器上安装 Docker,并涵盖一些最佳实践和常见问题解答。
一、准备工作
在开始安装 Docker 之前,需要进行一些准备工作:
-
选择合适的服务器操作系统: Docker 支持多种操作系统,包括 CentOS、Ubuntu、Debian 等。选择一个你熟悉且稳定的操作系统至关重要。本文将以 CentOS 7 和 Ubuntu 20.04 为例进行讲解。
-
确保服务器拥有足够的资源: Docker 容器需要一定的 CPU、内存和磁盘空间。建议至少 2GB 内存和 20GB 磁盘空间。
-
使用 root 用户或拥有 sudo 权限的用户: 安装 Docker 需要 root 权限。
-
更新服务器系统: 在安装任何新软件之前,最好更新服务器的软件包,以确保系统的稳定性和安全性。
-
CentOS 7:
sudo yum update -y
- Ubuntu 20.04:
sudo apt update && sudo apt upgrade -y
二、安装 Docker 引擎
以下步骤将指导你如何安装 Docker 社区版 (CE) 引擎:
1. 使用 Docker 仓库安装 (推荐): 这种方法可以确保你安装的是最新版本的 Docker。
-
CentOS 7:
bash
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io -
Ubuntu 20.04:
bash
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -
手动下载安装包 (不推荐): 这种方法比较繁琐,并且可能安装的不是最新版本。建议使用仓库安装。
三、启动 Docker 服务
安装完成后,需要启动 Docker 服务并设置开机自启动:
- CentOS 7:
bash
sudo systemctl start docker
sudo systemctl enable docker
- Ubuntu 20.04:
bash
sudo systemctl start docker
sudo systemctl enable docker
四、验证 Docker 安装
运行 sudo docker run hello-world
命令来验证 Docker 是否安装成功。如果成功,Docker 将下载一个测试镜像并运行一个容器,输出 "Hello from Docker!" 的信息。
五、配置 Docker (可选)
- 将非 root 用户添加到 docker 组: 为了避免每次运行 Docker 命令都需要使用 sudo,可以将你的用户添加到 docker 组:
bash
sudo usermod -aG docker $USER
newgrp docker
注销并重新登录后生效。
- 配置 Docker 镜像加速器: 国内用户可以配置镜像加速器来提高下载速度,例如阿里云、DaoCloud 等。具体配置方法请参考相应加速器提供商的文档。 一般在
/etc/docker/daemon.json
文件中配置(如果没有则创建该文件)。例如:
json
{
"registry-mirrors": ["https://<your_registry_mirror>.mirror.aliyuncs.com"]
}
配置完成后,重启 Docker 服务:
- CentOS 7:
sudo systemctl restart docker
- Ubuntu 20.04:
sudo systemctl restart docker
六、常用 Docker 命令
以下是一些常用的 Docker 命令:
docker run <image_name>
: 运行一个容器docker ps
: 列出正在运行的容器docker ps -a
: 列出所有容器,包括已停止的容器docker images
: 列出本地镜像docker pull <image_name>
: 下载镜像docker stop <container_id>
: 停止容器docker rm <container_id>
: 删除容器docker rmi <image_id>
: 删除镜像docker build -t <image_name> .
: 构建镜像docker logs <container_id>
: 查看容器日志docker exec -it <container_id> bash
: 进入容器的终端
七、Docker Compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它使用 YAML 文件来配置应用程序的服务,然后可以使用单个命令来创建和启动所有服务。
八、Docker Swarm
Docker Swarm 是 Docker 原生的集群管理和编排工具。它可以将多个 Docker 主机转换为一个虚拟的 Docker 主机,方便用户管理和部署分布式应用程序。
九、进阶主题
- Docker 网络: 了解 Docker 网络模型,包括 bridge、host、overlay 等。
- Docker 存储: 了解 Docker 存储驱动,例如 overlay2、aufs 等。
- Docker 安全: 学习如何保护 Docker 容器和主机安全。
十、持续学习与探索
Docker 技术日新月异,不断学习和探索新的功能和最佳实践至关重要。 通过阅读官方文档、参与社区论坛和实践项目,可以不断提升你的 Docker 技能。 希望这篇指南能够帮助你在服务器上成功安装和使用 Docker,开启你的容器化之旅!