🚀 Docker 入门与实战:从安装到容器管理的完整指南 🌟
📖 简介
在现代软件开发中,容器化技术已经成为不可或缺的一部分。而 Docker 作为容器化领域的领头羊,以其轻量级、高效和跨平台的特性,深受开发者们的喜爱。本文将带你从零开始,逐步掌握 Docker 的安装、配置以及日常使用技巧,并结合实际案例为你提供一份详实的 Docker 使用指南。无论你是初学者还是有一定经验的开发者,都能从中受益!🚀
🔧 目录
- 🚀 **Docker 入门与实战:从安装到容器管理的完整指南** 🌟
🛠 安装 Docker
1. 更新系统并安装依赖
在安装 Docker 之前,确保你的系统是最新的,并安装必要的依赖包。
sudo apt-get update
sudo apt-get install ca-certificates curl
2. 添加 Docker 官方 GPG 密钥
为了确保下载的软件包安全,我们需要添加 Docker 的官方 GPG 密钥并设置权限
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
如果遇到网络问题、防火墙限制或 SSL 配置问题,可以使用国内镜像源:
curl: (35) OpenSSL SSL_connect: 连接被对方重设 in connection to download.docker.com:443使用国内镜像源下载 GPG 密钥。例如,清华大学开源镜像站:
sudo curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
3. 设置 Docker 存储库
接下来,我们将 Docker 的存储库添加到系统的 APT 源列表中。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 安装 Docker 引擎
更新包索引后,安装 Docker Engine 和相关工具。
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. 查看 Docker 和 Docker Compose 版本
在安装完成后,可以通过以下命令验证 Docker 和 Docker Compose 是否正确安装并查看其版本信息:
docker --version 或 docker -v
输出示例:
Docker version 27.5.1, build 9f9e405
如果你使用的是新版 Docker Compose(从 Docker Desktop 3.4.0 和 Docker Engine 20.10.13 开始,Docker Compose 已被集成到 Docker CLI 中),可以使用以下命令查看版本:
docker compose version
输出示例:
Docker Compose version v2.32.4
注意:旧版独立安装的 Docker Compose 使用
docker-compose --version
查看版本。
6. 启动 Docker 服务
安装完成后,Docker 服务通常会默认自启。如果未启动,可以通过以下命令手动启动 Docker 服务。
方法 1:使用 service
命令
sudo service docker start # 启动 Docker 服务
sudo service docker status # 查询 Docker 服务状态
方法 2:使用 systemctl
命令
sudo systemctl start docker.service # 启动 Docker 服务
sudo systemctl status docker.service # 查询 Docker 服务状态
两种方法的区别:
service
命令:这是一个较老的服务管理工具,兼容性较好,适用于 SysVinit 系统(如较旧的 Ubuntu 版本)。systemctl
命令:这是 systemd 系统的服务管理工具,适用于现代 Linux 发行版(如 Ubuntu 16.04 及更高版本)。推荐在支持 systemd 的系统中使用systemctl
,因为它功能更强大且更灵活。
7. 验证安装
通过运行一个简单的测试镜像来验证 Docker 是否安装成功。
sudo docker run hello-world
如果一切顺利,你将看到类似以下的输出:
Hello from Docker!
This message shows that your installation appears to be working correctly.
8. 设置 Docker 服务开机自启
为了确保 Docker 服务在宿主机启动时自动运行,需要将其设置为开机自启。以下是具体操作步骤:
-
检查 Docker 服务状态
systemctl status docker
-
启用 Docker 服务开机自启
如果未启用开机自启,执行以下命令:sudo systemctl enable docker
-
验证设置是否生效
重启宿主机后,检查 Docker 服务是否已自动启动:systemctl is-enabled docker
输出示例:
enabled
📊 Docker 常用命令
命令 | 描述 |
---|---|
docker --version 或 docker -v |
查看 Docker 的版本信息 |
docker images |
查看本地所有镜像 |
docker pull <image_name> |
从 Docker Hub 拉取镜像 |
docker rmi <image_id> |
删除本地镜像 |
docker ps |
查看正在运行的容器 |
docker ps -a |
查看所有容器(包括已停止的) |
docker run -it <image_id> |
启动一个新的容器并进入交互模式 |
docker start <container_id> |
启动已停止的容器 |
docker stop <container_id> |
停止正在运行的容器 |
docker rm <container_id> |
删除容器 |
docker restart <container_id> |
重启容器 |
docker exec -it <container_id> /bin/bash [-c '执行的命令'] |
进入正在运行的容器内部并执行命令 |
启动容器
启动一个新的容器时,可以使用以下命令,并根据需要设置容器名称、运行模式、伪终端分配和端口映射等选项:
docker run [OPTIONS] <image_id>
基础设置
-
指定容器名称:
--name="name"
为容器指定一个名称。例如:docker run --name=my_container <image_id>
-
后台运行:
-d
后台运行容器,并返回容器 ID。例如:docker run -d <image_id>
-
前台运行:
-i
和-t
前台:-i
: 以交互模式运行容器,通常与-t
一起使用。是否分配伪终端:
-t
: 为容器重新分配一个伪输入终端,通常与-i
同时使用例如:
docker run -it <image_id> /bin/bash
网络设置
-
端口映射:
-p
指定主机和容器之间的端口映射关系。例如:docker run -p 8000:8000