文章目录
- 0.前言
- 1. 镜像(Images)相关命令:
- 1. `docker images`:列出本地的镜像。
- 2. `docker pull`:从镜像仓库中下载镜像。
- 3. `docker push`:将本地镜像推送到镜像仓库。
- 4. `docker build`:根据 Dockerfile 构建镜像。
- 5. `docker tag`:给镜像打标签。
- 6. `docker rmi`:删除本地的一个或多个镜像。
- 2. 容器(Containers)相关命令:
- 1. `docker ps`:
- 2. `docker run`:
- 3. `docker start`:
- 4. `docker stop`:
- 5. `docker restart`:
- 6. `docker rm`:
- 7. `docker logs`:
- 8. `docker exec`:
- 9. `docker pause`:
- 10. `docker unpause`:
- 11. `docker inspect`:
- 12. `docker top`:
- 3. 仓库(Registry)相关命令:
- 4. 网络(Network)相关命令:
- 1. `docker network ls`:
- 2. `docker network create`:
- 3. `docker network connect`:
- 4. `docker network disconnect`:
- 5. 数据卷(Volumes)相关命令:
- 1.参考文档
0.前言
学习并掌握 Docker 命令是使用 Docker 的关键,因为通过命令行工具,你可以管理容器、构建镜像、网络配置等。在本文中,我整理了一些常用的 Docker 命令,为大家提供一个学习和总结的参考 这里的命令示例适用于 Docker 19.03 版本及以上。
Docker 命令可以根据其功能和作用进行分类。下面是一些常见的 Docker 命令分类:
1. 镜像(Images)相关命令:
docker images
:列出本地的镜像。docker pull
:从镜像仓库中下载镜像。docker push
:将本地镜像推送到镜像仓库。docker build
:根据 Dockerfile 构建镜像。docker tag
:给镜像打标签。docker rmi
:删除本地的一个或多个镜像。
以下是针对镜像(Images)相关命令的详细解释:
1. docker images
:列出本地的镜像。
- 参数解释:无
- 示例:
docker images
- 结果示例:
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest abcdef123456 2 weeks ago 138MB myapp latest 789ghi456jkl 4 days ago 250MB
- 解释:该命令用于列出本地已经下载的镜像。它会显示镜像的仓库名(REPOSITORY)、标签(TAG)、镜像ID(IMAGE ID)、创建时间(CREATED)和大小(SIZE)等信息。
2. docker pull
:从镜像仓库中下载镜像。
- 参数解释:镜像名称
- 示例:
docker pull nginx:latest
- 结果示例:从镜像仓库中下载最新版的 NGINX 镜像。
- 解释:该命令用于从指定的镜像仓库中下载镜像。您需要指定镜像的名称和标签,例如
nginx:latest
。Docker 会自动从默认的镜像仓库(如 Docker Hub)中下载镜像。
3. docker push
:将本地镜像推送到镜像仓库。
- 参数解释:镜像名称
- 示例:
docker push myusername/myimage:latest
- 结果示例:将本地的镜像推送到名为 “myusername/myimage” 的镜像仓库。
- 解释:该命令用于将本地的镜像推送到指定的镜像仓库。您需要指定镜像的名称和标签,并且需要在名称前加上仓库用户名(如 Docker Hub 的用户名)。在执行推送之前,您需要先登录到目标镜像仓库。
4. docker build
:根据 Dockerfile 构建镜像。
- 参数解释:
-t
:为镜像指定名称和标签.
:Dockerfile 所在的目录路径
- 示例:
docker build -t myapp:latest .
- 结果示例:根据当前目录下的 Dockerfile 构建名为 “myapp” 的镜像。
- 解释:该命令用于根据 Dockerfile 构建镜像。您需要在命令中使用
-t
参数为镜像指定名称和标签,并且需要提供包含 Dockerfile 的目录路径(通常为.
,表示当前目录)。
5. docker tag
:给镜像打标签。
- 参数解释:现有镜像名称和标签、新镜像名称和标签
- 示例:
docker tag myapp:latest myusername/myapp:1.0
- 结果示例:为现有的 “myapp:latest” 镜像打上新的标签 “myusername/myapp:1.0”。
- 解释:该命令用于给已有的镜像打上新的标签。您需要指定现有镜像的名称和标签,以及新的镜像名称和标签。
6. docker rmi
:删除本地的一个或多个镜像。
- 参数解释:镜像名称或镜像ID
- 示例:
docker rmi myapp:latest
- 结果示例:删除名为 “myapp:latest” 的本地镜像。
- 解释:该命令用于删除本地的一个或多个镜像。您需要提供要删除的镜像的名称或镜像ID。如果要删除多个镜像,可以在命令中同时指定多个镜像名称或镜像ID。
2. 容器(Containers)相关命令:
docker ps
:列出正在运行的容器。docker run
:创建并运行一个容器。docker start
:启动一个已停止的容器。docker stop
:停止一个运行中的容器。docker restart
:重启一个容器。docker rm
:删除一个或多个容器。docker logs
:查看容器的日志。docker exec
:在运行中的容器中执行命令。docker pause
:暂停一个运行中的容器。docker unpause
:取消暂停一个容器。docker inspect
:获取容器的详细信息。docker top
:查看容器内运行的进程。
当然,以下是常用 Docker 命令的用法示例:
1. docker ps
:
列出正在运行的容器。
docker ps
使用 -a
选项可以列出所有容器,包括已停止的容器。
docker ps -a
2. docker run
:
创建并运行一个容器。
docker run -d -p 8080:80 nginx
上述命令创建并运行一个名为 nginx 的容器,将容器的 80 端口映射到主机的 8080 端口,并在后台运行。
3. docker start
:
启动一个已停止的容器。
docker start <容器ID/容器名称>
4. docker stop
:
停止一个运行中的容器。
docker stop <容器ID/容器名称>
5. docker restart
:
重启一个容器。
docker restart <容器ID/容器名称>
6. docker rm
:
删除一个或多个容器。
docker rm <容器ID/容器名称>
可以同时删除多个容器:
docker rm <容器ID1> <容器ID2>
使用 -f
选项可以强制删除正在运行的容器。
7. docker logs
:
查看容器的日志。
docker logs <容器ID/容器名称>
可以使用 -f
选项实时跟踪日志输出。
docker logs -f <容器ID/容器名称>
8. docker exec
:
在运行中的容器中执行命令。
docker exec -it <容器ID/容器名称> <命令>
使用 -it
选项可以进入交互模式。
9. docker pause
:
暂停一个运行中的容器。
docker pause <容器ID/容器名称>
10. docker unpause
:
取消暂停一个容器。
docker unpause <容器ID/容器名称>
11. docker inspect
:
获取容器的详细信息。
docker inspect <容器ID/容器名称>
12. docker top
:
查看容器内运行的进程。
docker top <容器ID/容器名称>
3. 仓库(Registry)相关命令:
docker login
:登录到一个镜像仓库。docker logout
:登出一个镜像仓库。docker search
:在镜像仓库中搜索镜像。
4. 网络(Network)相关命令:
当然,以下是一些与 Docker 网络相关的详细输出命令:
1. docker network ls
:
列出 Docker 网络。
docker network ls
输出将显示网络的ID、名称、驱动程序和范围。
2. docker network create
:
创建一个 Docker 网络。
docker network create my-network
上述命令将创建一个名为 “my-network” 的网络。
可以通过添加选项来指定网络的驱动程序、子网范围等。
docker network create --driver bridge --subnet 172.18.0.0/16 my-network
上述命令将创建一个使用桥接驱动程序和指定子网范围的网络。
3. docker network connect
:
将容器连接到一个网络。
docker network connect my-network my-container
上述命令将将名为 “my-container” 的容器连接到名为 “my-network” 的网络。
4. docker network disconnect
:
将容器从一个网络断开。
docker network disconnect my-network my-container
上述命令将将名为 “my-container” 的容器从名为 “my-network” 的网络断开。
5. 数据卷(Volumes)相关命令:
docker volume ls
:列出 Docker 数据卷。docker volume create
:创建一个 Docker 数据卷。docker volume inspect
:查看数据卷的详细信息。docker volume rm
:删除一个 Docker 数据卷。
1.参考文档
-
Docker 官方文档:https://docs.docker.com/
官方文档 提供了详细的文档、教程和指南,覆盖了 Docker 的各个方面,包括安装、使用、管理容器、构建镜像等。 -
Docker 教程 - 菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
菜鸟教程提供了一个简单易懂的 Docker 教程,适合初学者入门。它包含了 Docker 的基础知识、常用命令和实例演示,帮助你快速上手 Docker。