简介
本全面的 Docker 教程为开发者和系统管理员提供了关于理解、创建和管理 Docker 容器的实用指南。通过探索核心容器化概念、安装过程和基本命令行技术,学习者将获得用于高效软件部署和运行时环境管理的实践技能。
本全面的 Docker 教程为开发者和系统管理员提供了关于理解、创建和管理 Docker 容器的实用指南。通过探索核心容器化概念、安装过程和基本命令行技术,学习者将获得用于高效软件部署和运行时环境管理的实践技能。
Docker 容器代表了一种软件部署和隔离的革命性方法。容器化使开发者能够将应用程序与其整个运行时环境打包在一起,确保在不同的计算平台上具有一致的性能。
Docker 容器是轻量级、独立的可执行包,其中包含运行应用程序所需的一切:代码、运行时、系统工具、库和设置。
特性 | 描述 |
---|---|
可移植性 | 在不同环境中一致运行 |
轻量级 | 资源消耗极少 |
隔离性 | 与主机系统和其他容器隔离 |
可扩展性 | 易于复制和扩展 |
## 更新软件包索引
sudo apt update
## 安装依赖项
sudo apt install apt-transport-https ca-certificates curl software-properties-common
## 添加 Docker 的官方 GPG 密钥
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
## 设置稳定存储库
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
## 安装 Docker 引擎
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
## 拉取镜像
docker pull ubuntu:latest
## 列出可用镜像
docker images
## 运行容器
docker run -it ubuntu:latest /bin/bash
## 列出正在运行的容器
docker ps
## 停止容器
docker stop <容器ID>
容器化在现代软件开发中具有显著优势:
容器的 Shell 访问提供了与正在运行的 Docker 容器的直接交互,使管理员和开发者能够执行命令、排查问题并有效地管理容器环境。
命令 | 用途 | 使用方法 |
---|---|---|
docker run -it | 启动交互式容器 | 立即获得 Shell 访问权限 |
docker exec -it | 在正在运行的容器中执行命令 | 访问现有容器 |
docker attach | 连接到正在运行的容器的进程 | 共享终端会话 |
## 使用交互式 bash Shell 启动 Ubuntu 容器
docker run -it ubuntu:latest /bin/bash
## 示例交互式会话
root@容器:/## ls
root@容器:/## pwd
root@容器:/## apt update
## 列出正在运行的容器
docker ps
## 在特定容器中执行命令
docker exec -it < 容器ID > /bin/bash
## 在不进入完整 Shell 的情况下运行单个命令
docker exec /home < 容器ID > ls
## 分离模式(后台运行)
docker run -d ubuntu:latest sleep 3600
## 交互式模式(前台运行)
docker run -it ubuntu:latest /bin/bash
容器的 Shell 访问需要谨慎管理:
有效的容器管理涉及理解和控制从创建到删除的整个容器生命周期,以确保最佳性能和资源利用率。
命令 | 功能 | 使用方法 |
---|---|---|
docker ps | 列出容器 | 监控正在运行的容器 |
docker stop | 停止运行的容器 | 优雅地终止容器 |
docker rm | 删除容器 | 清理未使用的容器 |
docker prune | 删除未使用的资源 | 优化系统资源 |
## 实时容器资源使用情况
docker stats
## 检查特定容器的详细信息
docker inspect <容器ID>
## 查看容器日志
docker logs <容器ID>
## 列出 Docker 网络
docker network ls
## 创建自定义网络
docker network create mynetwork
## 将容器连接到网络
docker network connect mynetwork <容器ID>
## 创建卷
docker volume create myvolume
## 将卷挂载到容器
docker run -v myvolume:/data ubuntu:latest
## 列出卷
docker volume ls
## 检查容器健康状态
docker ps -a
## 查看容器日志
docker logs -f <容器ID>
## 执行诊断命令
docker exec <容器ID> diagnostics_command
容器管理需要持续监控和优化:
Docker 容器代表了一种软件开发和部署的变革性方法,具有无与伦比的可移植性、轻量级资源利用和强大的隔离性。通过掌握容器创建、管理和 Shell 访问技术,专业人员可以简化应用程序开发、增强系统可扩展性,并确保在各种计算环境中具有一致的性能。