Docker 是当前最流行的容器化平台之一,它通过轻量级的虚拟化技术,让开发者能够快速构建、部署和管理应用。掌握 Docker 的基础指令对于有效使用这一工具至关重要。本文将详细介绍 Docker 的常用命令,帮助你全面了解和运用 Docker。
目录
- Docker 基础概念
docker build
docker pull
docker push
docker images
docker rmi
docker run
docker ps
docker stop
docker start
docker restart
docker rm
docker exec
docker logs
docker network ls
docker network create
docker network inspect
docker network rm
docker volume ls
docker volume create
docker volume inspect
docker volume rm
docker info
docker version
docker system df
docker system prune
docker inspect
docker tag
docker history
- 总结
Docker 基础概念
在深入命令之前,了解一些 Docker 的基本概念是非常有帮助的:
- 镜像(Image):Docker 镜像是一个包含应用及其所有依赖的轻量级、独立、可执行的软件包。它是容器的蓝图。
- 容器(Container):容器是镜像的运行实例,具有独立的文件系统、网络和进程空间。
- 仓库(Repository):用于存储和分发 Docker 镜像的地方,如 Docker Hub。
- Dockerfile:用于定义镜像内容的脚本文件,包含一系列构建指令。
Docker 镜像管理命令
镜像管理是 Docker 运维中的核心部分,以下是常用的镜像管理命令:
docker build
用于根据 Dockerfile 构建一个新的镜像。
语法:
docker build [OPTIONS] PATH | URL | -
示例:
在当前目录下使用 Dockerfile 构建镜像,并命名为 myapp:latest
:
docker build -t myapp:latest .
docker pull
从仓库中拉取镜像到本地。
语法:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
示例:
拉取官方的 Nginx 镜像:
docker pull nginx:latest
docker push
将本地镜像推送到仓库。
语法:
docker push [OPTIONS] NAME[:TAG]
示例:
推送本地的 myapp:latest
镜像到 Docker Hub:
docker push myusername/myapp:latest
注意:推送前需先登录 Docker Hub,使用 docker login
命令。
docker images
列出本地存储的所有镜像。
语法:
docker images [OPTIONS] [REPOSITORY[:TAG]]
示例:
查看所有本地镜像:
docker images
docker rmi
删除本地镜像。
语法:
docker rmi [OPTIONS] IMAGE [IMAGE...]
示例:
删除镜像 myapp:latest
:
docker rmi myapp:latest
Docker 容器管理命令
管理容器是 Docker 使用中的主要任务,以下是常用的容器管理命令:
docker run
创建并运行一个新的容器。
语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
示例:
以交互模式运行 Ubuntu 容器,并进入 Bash:
docker run -it ubuntu:latest /bin/bash
docker ps
列出当前运行的容器。
语法:
docker ps [OPTIONS]
示例:
查看所有正在运行的容器:
docker ps
查看包括停止的容器:
docker ps -a
docker stop
停止一个或多个运行中的容器。
语法:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
示例:
停止名为 mycontainer
的容器:
docker stop mycontainer
docker start
启动一个已停止的容器。
语法:
docker start [OPTIONS] CONTAINER [CONTAINER...]
示例:
启动名为 mycontainer
的容器:
docker start mycontainer
docker restart
重启一个或多个容器。
语法:
docker restart [OPTIONS] CONTAINER [CONTAINER...]
示例:
重启名为 mycontainer
的容器:
docker restart mycontainer
docker rm
删除一个或多个容器。
语法:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
示例:
删除名为 mycontainer
的容器:
docker rm mycontainer
注意:容器必须停止才能删除,或者使用 -f
强制删除。
docker exec
在运行中的容器内执行指定的命令。
语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
示例:
在 mycontainer
容器内运行 Bash:
docker exec -it mycontainer /bin/bash
docker logs
查看容器的日志输出。
语法:
docker logs [OPTIONS] CONTAINER
示例:
查看 mycontainer
的日志:
docker logs mycontainer
Docker 网络管理命令
Docker 提供了灵活的网络配置选项,以下是常用的网络管理命令:
docker network ls
列出所有 Docker 网络。
语法:
docker network ls
示例:
查看所有网络:
docker network ls
docker network create
创建一个新的 Docker 网络。
语法:
docker network create [OPTIONS] NETWORK
示例:
创建一个名为 mynetwork
的桥接网络:
docker network create mynetwork
docker network inspect
查看指定网络的详细信息。
语法:
docker network inspect [OPTIONS] NETWORK
示例:
查看 mynetwork
网络的详细信息:
docker network inspect mynetwork
docker network rm
删除一个或多个网络。
语法:
docker network rm NETWORK [NETWORK...]
示例:
删除 mynetwork
网络:
docker network rm mynetwork
Docker 卷管理命令
Docker 卷用于持久化和管理容器数据,以下是相关命令:
docker volume ls
列出所有卷。
语法:
docker volume ls
示例:
查看所有卷:
docker volume ls
docker volume create
创建一个新的卷。
语法:
docker volume create [OPTIONS] [VOLUME]
示例:
创建一个名为 myvolume
的卷:
docker volume create myvolume
docker volume inspect
查看卷的详细信息。
语法:
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
示例:
查看 myvolume
的详细信息:
docker volume inspect myvolume
docker volume rm
删除一个或多个卷。
语法:
docker volume rm [OPTIONS] VOLUME [VOLUME...]
示例:
删除 myvolume
卷:
docker volume rm myvolume
注意:卷如果正在被容器使用,将无法删除。
Docker 系统管理命令
这些命令用于获取 Docker 系统的状态和进行系统级别的管理。
docker info
显示 Docker 系统的全面信息。
语法:
docker info
示例:
查看 Docker 系统信息:
docker info
docker version
显示 Docker 客户端和服务器(守护进程)的版本信息。
语法:
docker version
示例:
查看 Docker 版本:
docker version
docker system df
显示 Docker 使用的磁盘空间情况。
语法:
docker system df
示例:
查看 Docker 磁盘使用情况:
docker system df
docker system prune
清理未使用的 Docker 数据,包括停止的容器、未使用的网络、悬挂的镜像和未使用的卷。
语法:
docker system prune [OPTIONS]
示例:
执行全面清理(包括未使用的卷):
docker system prune -a --volumes
注意:此操作会删除未使用的数据,请谨慎使用。
其他有用命令
除了上述常用命令外,Docker 还提供了一些其他实用的命令:
docker inspect
获取 Docker 对象(容器、镜像、网络、卷等)的详细信息。
语法:
docker inspect [OPTIONS] NAME [NAME...]
示例:
查看 mycontainer
容器的详细信息:
docker inspect mycontainer
docker tag
为镜像创建一个新的标签。
语法:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
示例:
将本地 myapp:latest
镜像打标签为 myusername/myapp:v1.0
:
docker tag myapp:latest myusername/myapp:v1.0
docker history
查看镜像的历史层信息。
语法:
docker history [OPTIONS] IMAGE
示例:
查看 myapp:latest
镜像的历史:
docker history myapp:latest
总结
熟练掌握 Docker 的各类命令,能够帮助你更加高效地管理容器化环境。从镜像的构建与管理,到容器的生命周期操作,再到网络和数据卷的配置,Docker 提供了一套全面的工具链。本文涵盖了常用的 Docker 指令及其使用示例,希望能作为你学习和参考的指南。随着你对 Docker 的深入了解,还可以探索更多高级功能,如编排工具 Docker Compose 和 Kubernetes 的集成,进一步提升应用部署与管理的效率。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。