A. 镜像相关命令
docker build:从 Dockerfile 构建镜像- 用法:
docker build -t <镜像名>:<标签> <Dockerfile路径> - 示例: 假设有一个包含 Node. js 应用程序的 Dockerfile,可以运行以下命令来构建镜像:这将根据当前目录下的 Dockerfile 构建一个名为
1docker build -t mynodeapp:latest .mynodeapp的镜像,并打上latest标签。
- 用法:
docker pull:从镜像仓库拉取镜像- 用法:
docker pull <镜像名>:<标签> - 示例: 如果想从 Docker Hub 拉取一个 Ubuntu 的镜像,可以运行:这将拉取
1docker pull ubuntu:20.04ubuntu:20.04镜像到的本地环境。
- 用法:
docker push:将镜像推送到镜像仓库- 用法:
docker push <镜像名>:<标签> - 示例: 假设已经登录到 Docker Hub,并构建了一个镜像
mynodeapp,可以将其推送到 Docker Hub:这将1docker push myusername/mynodeapp:latestmynodeapp:latest推送到 Docker Hub 仓库中。
- 用法:
docker images:列出本地镜像- 用法:
docker images - 示例: 运行以下命令可以查看本地所有的 Docker 镜像:输出将包括镜像名、标签、镜像 ID、创建时间以及镜像大小。
1docker images
- 用法:
docker rmi:删除镜像- 用法:
docker rmi <镜像ID> - 示例: 要删除一个不再需要的镜像,可以运行:这将删除
1docker rmi mynodeapp:latestmynodeapp:latest镜像。
- 用法:
docker history:查看镜像的构建历史- 用法:
docker history <镜像名>:<标签> - 示例: 查看
ubuntu:20.04镜像的构建历史,可以运行:这将显示构建镜像时执行的每个步骤的历史记录。1docker history ubuntu:20.04
- 用法:
docker tag:为镜像打标签- 用法:
docker tag <源镜像名>:<源标签> <目标镜像名>:<目标标签> - 示例: 为
mynodeapp镜像打上新的标签:这将1docker tag mynodeapp:latest mynodeapp:v1.0mynodeapp:latest标签的镜像重新标记为mynodeapp:v1.0。
- 用法:
docker save:将镜像保存为 tar 存档- 用法:
docker save -o <输出文件> <镜像名>:<标签> - 示例: 将
mynodeapp:latest镜像保存为mynodeapp.tar文件:这将在当前目录生成1docker save -o mynodeapp.tar mynodeapp:latestmynodeapp.tar文件,包含镜像的所有数据。
- 用法:
docker load:从 tar 存档加载镜像- 用法:
docker load -i <tar文件> - 示例: 加载之前保存的
mynodeapp.tar镜像:这将加载镜像并使其在本地可用。1docker load -i mynodeapp.tar
- 用法:
B. 容器相关命令
docker run:创建并启动容器- 用法:
docker run [选项] <镜像名> - 示例: 创建并启动一个 Ubuntu 容器并进入交互模式:这将启动一个 Ubuntu 容器并打开一个 Bash 终端。
1docker run -it ubuntu:20.04 bash
- 用法:
docker start:启动已停止的容器- 用法:
docker start <容器ID或容器名> - 示例: 启动已停止的容器:这将启动名为
1docker start mycontainermycontainer的容器。
- 用法:
docker stop:停止运行中的容器- 用法:
docker stop <容器ID或容器名> - 示例: 停止正在运行的容器:这将停止名为
1docker stop mycontainermycontainer的容器。
- 用法:
docker restart:重启容器- 用法:
docker restart <容器ID或容器名> - 示例: 重启一个容器:这将停止并重新启动
1docker restart mycontainermycontainer容器。
- 用法:
docker ps:列出正在运行的容器- 用法:
docker ps - 示例: 查看当前运行的容器:输出将显示容器 ID、镜像、创建时间、状态、端口等信息。
1docker ps
- 用法:
docker ps -a:列出所有容器(包括已停止的)- 用法:
docker ps -a - 示例: 查看所有容器(包括已停止的):输出将显示所有容器的完整列表。
1docker ps -a
- 用法:
docker rm:删除已停止的容器- 用法:
docker rm <容器ID或容器名> - 示例: 删除一个已停止的容器:这将删除名为
1docker rm mycontainermycontainer的容器。
- 用法:
docker exec:在运行中的容器内执行命令- 用法:
docker exec -it <容器ID或容器名> <命令> - 示例: 在运行中的容器中执行命令并进入交互模式:这将在
1docker exec -it mycontainer bashmycontainer容器中打开一个 Bash 终端。
- 用法:
docker logs:查看容器的日志- 用法:
docker logs <容器ID或容器名> - 示例: 查看
mycontainer容器的日志输出:1docker logs mycontainer
- 用法:
docker cp:在容器和主机之间复制文件- 用法:
docker cp <源路径> <目标路径> - 示例: 从容器复制文件到主机:
1docker cp mycontainer:/path/to/file /host/path
- 用法:
docker attach:连接到运行中的容器- 用法:
docker attach <容器ID或容器名> - 示例: 连接到正在运行的容器:
1docker attach mycontainer
- 用法:
docker inspect:查看容器或镜像的详细信息- 用法:
docker inspect <容器ID或镜像ID> - 示例: 查看容器的详细配置信息:
1docker inspect mycontainer
- 用法:
docker top:查看容器内运行的进程- 用法:
docker top <容器ID或容器名> - 示例: 查看
mycontainer容器内的运行进程:1docker top mycontainer
- 用法:
docker stats:查看容器的资源使用情况- 用法:
docker stats <容器ID或容器名> - 示例: 实时查看容器的 CPU、内存、网络等资源使用情况:
1docker stats mycontainer
- 用法:
C. 其他常用命令
docker version:查看 Docker 版本信息- 用法:
docker version - 示例: 查看 Docker 客户端和服务端的版本信息:
- 用法:
| |
docker info:查看 Docker 系统信息- 用法:
docker info - 示例: 查看 Docker 系统的详细信息:
1docker info
- 用法:
docker login:登录到 Docker 镜像仓库- 用法:
docker login - 示例: 登录到 Docker Hub,输入用户名和密码:
1docker login
- 用法:
docker logout:退出 Docker 镜像仓库- 用法:
docker logout - 示例: 退出 Docker Hub:
1docker logout
- 用法:
docker network:管理 Docker 网络- 用法:
docker network <命令> - 示例: 创建一个新的 Docker 网络:
1docker network create mynetwork
- 用法:
docker volume:管理 Docker 数据卷- 用法:
docker volume <命令> - 示例: 创建一个新的 Docker 卷:
1docker volume create myvolume
- 用法: