- Docker 教程
- Docker - 首页
- Docker - 概述
- Docker - 在 Linux 上安装
- Docker - 安装
- Docker - Hub
- Docker - 镜像
- Docker - 容器
- Docker - 仓库
- Docker - Compose
- Docker - 使用容器
- Docker - 架构
- Docker - 层
- Docker - 容器和主机
- Docker - 配置
- Docker - 容器和 Shell
- Docker - Dockerfile
- Docker - 构建文件
- Docker - 公共仓库
- Docker - 管理端口
- Docker - Web 服务器
- Docker - 命令
- Docker - 容器链接
- Docker - 数据存储
- Docker - 卷
- Docker - 网络
- Docker - 安全
- Docker - 工具箱
- Docker - 云
- Docker - 构建云
- Docker - 日志
- Docker - 持续集成
- Docker - Kubernetes 架构
- Docker - Kubernetes 的工作原理
- Docker - 生成式 AI
- Docker - 托管
- Docker - 最佳实践
- Docker 设置服务
- Docker - 设置 Node.js
- Docker - 设置 MongoDB
- Docker - 设置 NGINX
- Docker - 设置 ASP.Net
- Docker - 设置 MySQL
- Docker - 设置 Go
- Docker - 设置 Rust
- Docker - 设置 Apache
- Docker - 设置 MariaDB
- Docker - 设置 Jupyter
- Docker - 设置 Portainer
- Docker - 设置 Rstudio
- Docker - 设置 Plex
- Docker 设置 - Flame
- Docker 设置 - PostgreSql
- Docker 设置 - Mosquitto
- Docker 设置 - Grafana
- Docker 设置 - Nextcloud
- Docker 设置 - Pawns
- Docker 设置 - Ubuntu
- Docker 设置 - RabbitMQ
- Docker - 设置 Python
- Docker - 设置 Java
- Docker - 设置 Redis
- Docker - 设置 Alpine
- Docker - 设置 BusyBox
- Docker 设置 - Traefik
- Docker 设置 - WordPress
- Docker 有用资源
- Docker - 快速指南
- Docker - 有用资源
- Docker - 讨论
Docker - 命令
Docker 命令是用于与 Docker 对象(例如镜像、容器和网络)交互的指令,其中一些指令直接作用于 Docker 引擎本身。这些命令帮助开发人员和管理员构建、管理和部署容器化应用程序。
典型的命令包括用于创建和启动容器的 **docker run**、用于列出正在运行的容器的 **docker ps**、用于从 Dockerfile 创建镜像的 **docker build**、用于从注册表下载镜像的 **docker pull** 以及用于将镜像上传到注册表的 **docker push**。结合许多其他有用的命令,它们构成了处理 Docker 化应用程序整个生命周期的一整套实用程序。
Docker 容器命令
您可以使用 Docker 容器命令来管理容器的生命周期。使用这些命令,您可以创建、启动、停止、检查或删除容器。以下是五个最重要的容器命令:
**docker run** - 此命令允许您从指定的 Docker 镜像创建一个新容器并启动它。
$ docker run -d -p 80:80 --name mywebserver nginx
上述命令将启动一个分离的 (-d) Nginx Web 服务器容器,将容器的端口 80 发布到主机上的端口 80 (-p 80:80),并将容器命名为 mywebserver。
**docker ps** - 如果您想列出所有正在运行的容器,可以使用以下命令。
$ docker ps
此命令列出当前在您的系统上运行的所有容器。
**docker stop** - 要停止正在运行的容器,可以使用此命令。
$ docker stop mywebserver
这将停止名为 mywebserver 的容器。
**docker rm** - 要删除已停止的容器,可以使用 docker rm 命令。
$ docker rm mywebserver
这将删除名为 mywebserver 的已停止容器。
**docker logs** - 出于调试目的,如果您想显示容器的日志,可以使用 docker logs 命令。
$ docker logs mywebserver
这将显示名为 mywebserver 的容器的日志,这对于调试很有用。
Docker 镜像命令
如果您想使用 Docker 镜像,Docker 提供了一组方便的命令来管理镜像。以下列出五个最重要的镜像命令以及示例:
**docker build** - 您可以使用此命令使用 Dockerfile 构建 Docker 镜像。Dockerfile 是一个文本文件,其中包含创建镜像及其多个层的指令。
$ docker build -t myimage
上述命令将使用当前目录 (.) 中的 Dockerfile 构建名为 myimage 的镜像。
**docker pull** - 如果您想从 Docker 注册表(例如 Docker Hub)拉取镜像,可以使用 Docker pull 命令。
$ docker pull ubuntu:latest
当您运行此命令时,它将从 Docker Hub 拉取官方 Ubuntu 镜像的最新版本。
**docker images** - 在使用 Docker 时,您经常会需要列出本地所有可用的 Docker 镜像。以下 Docker images 命令将帮助您做到这一点。
$ docker images
上述命令列出存储在您系统本地的所有 Docker 镜像。
**docker rmi** - 如果您想从您的机器上删除特定镜像,可以使用此命令。
$ docker rmi myimage
此命令将永久删除镜像 myimage。
**docker tag** - 此命令为镜像创建新标签。Docker 镜像中的标签用于识别和区分镜像的不同版本。
$ docker tag myimage myrepo/myimage:v1.0
这将为镜像 myimage 创建一个新的标签 myrepo/myimage:v1.0。
Docker 卷命令
为了数据持久性和容器之间共享数据,可以使用 Docker 卷,因为它允许将数据独立于容器生命周期存储。要使用 Docker 卷,以下列出五个有用的命令以及示例:
**docker volume create** - 创建一个新的 Docker 卷。
$ docker volume create myvolume
**docker volume ls** - 列出系统上所有可用的卷。
$ docker volume ls
**docker volume inspect** - 提供有关特定卷的详细信息。
$ docker volume inspect myvolume
**docker volume rm** - 删除指定的卷。
$ docker volume rm myvolume
**docker volume prune** - 删除系统上所有未使用的卷,释放空间。
$ docker volume prune
所有重要的 Docker 命令
以下是一个表格,总结了一些主要的 Docker 容器命令、它们的用例和示例:
命令 | 用例 | 示例 |
---|---|---|
docker run | 创建并启动一个新容器 | docker run -it ubuntu bash |
docker ps | 列出正在运行的容器 | docker ps |
docker ps -a | 列出所有容器(包括已停止的容器) | docker ps -a |
docker start | 启动已停止的容器 | docker start my_container |
docker stop | 停止正在运行的容器 | docker stop my_container |
docker restart | 重启容器 | docker restart my_container |
docker rm | 删除已停止的容器 | docker rm my_container |
docker rmi | 删除镜像 | docker rmi my_image |
docker images | 列出所有 Docker 镜像 | docker images |
docker pull | 从注册表下载镜像 | docker pull nginx |
docker build | 从 Dockerfile 构建镜像 | docker build -t my_image |
docker exec | 在正在运行的容器中运行命令 | docker exec -it my_container bash |
docker logs | 查看容器的日志 | docker logs my_container |
docker cp | 在容器和本地文件系统之间复制文件/文件夹 | docker cp my_container:/path/to/file /local/path |
docker inspect | 显示有关容器或镜像的详细信息 | docker inspect my_container |
docker network ls | 列出所有 Docker 网络 | docker network ls |
docker network create | 创建一个新的 Docker 网络 | docker network create my_network |
docker-compose up | 使用 docker-compose.yml 文件创建并启动容器 | docker-compose up |
docker-compose down | 停止并删除容器、网络、镜像和卷 | docker-compose down |
docker volume ls | 列出所有 Docker 卷 | docker volume ls |
docker volume create | 创建一个新的 Docker 卷 | docker volume create my_volume |
docker info | 显示系统范围的信息 | docker info |
docker stats | 显示容器资源使用情况统计信息的实时流 | docker stats |
docker attach | 将本地标准输入、输出和错误流附加到容器 | docker attach my_container |
结论
总之,我们在本章中讨论的 Docker 命令对于有效管理和部署容器化应用程序至关重要。了解这些命令及其常见应用将有助于开发人员和管理员的日常工作,简化工作流程,确保持久性并优化资源消耗。
Docker 命令常见问题
1. docker run 和 docker start 之间有什么区别?
docker run 命令从镜像创建一个新容器并立即启动它。这结合了两个步骤:docker create,它创建了一个新容器,以及 docker start,它启动了一个已停止的容器。与此相反,docker start 用于启动之前已停止的现有容器。
2. 如何查看正在运行的 Docker 容器的日志?
您可以使用 docker logs 命令后跟容器的名称或 ID 来查看容器的日志。例如,docker logs mycontainer 将返回名为 mycontainer 的容器的日志。您可以使用标志 -f 紧跟在 docker logs 后,在添加新条目时实时打印日志。
3. 如何以分离模式运行 Docker 容器?
docker run 中的 -d 标志代表“分离”模式。当您以分离模式运行容器时,它将在后台运行,终端不会附加到其标准输入和输出。这意味着您可以在容器独立运行时继续使用终端执行其他任务。您可以使用 docker attach 命令重新连接到容器的输入和输出。