简介
Docker CLI 是一个强大的工具,它使开发者能够通过命令行界面与 Docker 容器、镜像和网络进行交互。本全面教程将指导你学习基本的 Docker CLI 技术,帮助你了解如何高效地管理和操作容器、构建强大的开发环境以及优化你的容器化工作流程。
Docker CLI 是一个强大的工具,它使开发者能够通过命令行界面与 Docker 容器、镜像和网络进行交互。本全面教程将指导你学习基本的 Docker CLI 技术,帮助你了解如何高效地管理和操作容器、构建强大的开发环境以及优化你的容器化工作流程。
Docker 命令行界面(CLI)是一个强大的工具,它允许用户与 Docker 守护进程进行交互,并管理容器、镜像、网络和卷。它提供了一个基于文本的界面来执行 Docker 命令并执行各种操作。
在使用 Docker CLI 之前,请确保已在你的 Ubuntu 22.04 系统上安装了 Docker:
## 更新软件包索引
sudo apt update
## 安装 Docker
sudo apt install docker.io
## 验证安装
docker --version
Docker CLI 命令遵循标准语法:
docker <对象> <命令> <选项>
| 类别 | 用途 |
|---|---|
| 管理命令 | 管理 Docker 对象 |
| 镜像命令 | 拉取、构建和管理镜像 |
| 容器命令 | 创建、运行和控制容器 |
| 网络命令 | 配置 Docker 网络 |
| 卷命令 | 管理持久数据存储 |
为了避免对每个命令都使用 sudo,请将你的用户添加到 docker 组:
## 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
## 重启会话
newgrp docker
配置文件通常位于:
/etc/docker/daemon.json(系统范围)~/.docker/config.json(用户特定)通过理解这些基础知识,用户可以有效地利用 Docker CLI 来完成容器化任务。LabEx 建议练习这些基本命令,以在 Docker 管理方面打下坚实的基础。
## 从 Docker Hub 拉取镜像
docker pull ubuntu:latest
docker pull nginx:1.21
## 列出所有本地镜像
docker images
docker image ls
## 从 Dockerfile 构建镜像
docker build -t myapp:v1.
## 运行一个新容器
docker run -d --name web-server nginx
docker run -it ubuntu:latest /bin/bash
| 命令 | 描述 | 示例 |
|---|---|---|
docker ps |
列出正在运行的容器 | docker ps |
docker ps -a |
列出所有容器 | docker ps -a |
docker start |
启动已停止的容器 | docker start web-server |
docker stop |
停止正在运行的容器 | docker stop web-server |
docker rm |
删除容器 | docker rm web-server |
## 创建一个自定义网络
docker network create mynetwork
## 列出网络
docker network ls
## 将容器连接到网络
docker network connect mynetwork web-server
## 创建一个卷
docker volume create mydata
## 列出卷
docker volume ls
## 将卷挂载到容器
docker run -v mydata:/app nginx
## 查看容器日志
docker logs web-server
## 在正在运行的容器中执行命令
docker exec -it web-server bash
## 检查容器详细信息
docker inspect web-server
## 删除未使用的镜像
docker image prune
## 删除所有已停止的容器
docker container prune
LabEx 建议掌握这些常用的 Docker CLI 命令,以便高效地管理容器化环境。
## 克隆项目
git clone https://github.com/example/project
## 创建 Dockerfile
touch Dockerfile
## 构建镜像
docker build -t myapp:dev.
## 运行容器进行测试
docker run -d --name test-container myapp:dev
## 使用构建参数构建镜像
docker build --build-arg ENV=development -t myapp:ci.
## 运行自动化测试
docker run --rm myapp:ci npm test
| 阶段 | Docker 命令 | 目的 |
|---|---|---|
| 构建 | docker build |
创建镜像 |
| 测试 | docker run |
验证容器 |
| 推送 | docker push |
共享镜像 |
| 部署 | docker run |
在生产环境中运行 |
## 在 docker-compose.yml 中定义服务
version: '3'
services:
web:
build:.
ports:
- "8000:80"
database:
image: postgres:latest
## 启动多容器环境
docker-compose up -d
## 为微服务创建网络
docker network create microservices-net
## 运行带有网络连接的服务
docker run -d --name api --network microservices-net myapi
docker run -d --name database --network microservices-net mydb
## 检查容器日志
docker logs api-service
## 执行交互式 shell
docker exec -it api-service /bin/bash
## 检查容器资源使用情况
docker stats api-service
## 为生产环境标记镜像
docker tag myapp:latest myregistry.com/myapp:v1.0
## 推送到私有镜像仓库
docker push myregistry.com/myapp:v1.0
## 在生产环境中拉取并运行
docker pull myregistry.com/myapp:v1.0
docker run -d myregistry.com/myapp:v1.0
LabEx 建议实践这些工作流模式,以简化 Docker 容器管理和部署流程。
通过掌握 Docker CLI 命令和工作流模式,开发者可以显著提升他们的容器管理技能。本教程为你提供了基本的技术,用于操作、创建、管理和优化 Docker 容器,使你能够在现代软件开发和部署场景中充分发挥 Docker 的潜力。