Docker作为一个开源的应用容器引擎,允许开发者打包他们的应用以及依赖包到一个轻量级的、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。掌握Docker常用命令对于任何使用这项技术的开发者来说都是至关重要的。

Docker命令类别

Docker的命令非常广泛,可以被分为以下几个类别:

基础命令:用于管理Docker的安装和配置

镜像命令:用于操作Docker镜像

容器命令:用于操作Docker容器

网络命令:用于配置Docker的网络设置

卷命令:用于管理Docker的数据卷

仓库/注册中心命令:用于与Docker Hub或其他注册中心交互

基础命令

这些命令主要用于管理Docker的生命周期和配置信息。

docker version:显示Docker的版本信息,包括客户端和服务端的信息。

docker info:显示Docker的系统信息,如容器和镜像的数量,系统配置等。

docker login:登录到Docker注册中心,默认为Docker Hub。

docker logout:从Docker注册中心登出。

镜像命令

镜像是构建Docker容器的基础,以下命令用于管理它们。

docker images:列出本地主机上的所有镜像。

docker pull <image>:<tag>:从镜像仓库中拉取指定的镜像及其标签。

docker push <image>:<tag>:将本地的镜像推送到镜像仓库。

docker rmi <image>:删除一个或多个本地镜像。

docker build -t <tag> <path>:根据指定路径下的Dockerfile创建镜像,并给新镜像打标签。

docker history <image>:查看指定镜像的创建历史。

docker save <image> > <path>:将指定镜像保存为tar归档文件到本地路径。

docker load < <path>:从tar归档文件中载入镜像。

容器命令

容器是独立运行的一个或一组应用,这些命令用于管理容器的生命周期。

docker create <image>:创建一个新的容器但不启动它。

docker run <image>:创建一个新的容器并启动它。

docker start <container>:启动一个或多个已经创建的容器。

docker stop <container>:停止一个或多个正在运行的容器。

docker restart <container>:重启已经停止的容器。

docker rm <container>:删除一个或多个容器。

docker logs <container>:获取容器的日志输出。

docker exec -it <container> <command>:在运行的容器中执行命令,通常用于进入容器。

docker inspect <container or image>:获取容器或镜像的元数据。

docker ps:列出正在运行的容器。使用 -a 选项可以列出所有容器,包括未运行的。

网络命令

Docker的网络命令允许你管理容器的网络堆栈。

docker network create <name>:创建一个新的网络。

docker network rm <name>:删除一个或多个网络。

docker network connect <network> <container>:连接容器到网络。

docker network disconnect <network> <container>:断开容器与网络的连接。

docker network ls:列出所有网络。

数据卷命令

数据卷用于管理存储在容器中的数据。

docker volume create <name>:创建一个数据卷。

docker volume rm <volume>:删除一个或多个数据卷。

docker volume ls:列出所有数据卷。

docker volume inspect <volume>:查看特定数据卷的详细信息。

仓库/注册中心命令

这些命令用于与Docker Hub或其他注册中心交互。

docker search <term>:在Docker Hub中搜索镜像。

docker tag <source_image>:<tag> <target_image>:<tag>:为镜像添加一个新标签。

总结

以上就是Docker的常用命令详细介绍,通过这些命令,你可以从获取版本信息到创建、运行、管理容器和镜像,以及设置网络和数据卷等。掌握这些命令将帮助你更有效地使用Docker,从而提高你的开发、部署和运维效率。