Docker 基础命令
Docker
Docker 基本使用
docker run
: 运行一个容器
这是启动 Docker 容器最基本的命令。它会从指定的镜像创建一个新的容器,并在其中运行指定的命令。例如:
1
docker run ubuntu /bin/bash
这将使用 ubuntu
镜像创建一个新的容器,并在其中启动 bash
shell。
docker ps
: 列出当前正在运行的容器
此命令列出所有正在运行的 Docker 容器。例如:
1
docker ps
可以使用 -a
选项来列出所有容器,包括已停止的容器。
docker stop
: 停止一个或多个正在运行的容器
此命令用于停止一个或多个正在运行的容器。例如:
1
docker stop <container-id>
其中 <container-id>
是要停止的容器 ID。
docker rm
: 删除一个或多个容器
此命令用于删除一个或多个容器。例如:
1
docker rm <container-id>
其中 <container-id>
是要删除的容器 ID。
docker images
: 列出所有本地镜像
此命令列出本地 Docker 主机上的所有镜像。例如:
1
docker images
docker pull
: 从 Docker 镜像仓库中拉取镜像
此命令用于从 Docker 镜像仓库中获取镜像。例如:
1
docker pull ubuntu
这将获取最新的 ubuntu
镜像。
docker push
: 将本地镜像推送到 Docker 镜像仓库中
此命令用于将本地镜像推送到 Docker 镜像仓库中。例如:
1
docker push my-image
其中 my-image
是要推送到仓库中的镜像名称。
docker build
: 使用 Dockerfile 构建一个新的镜像
此命令用于使用 Dockerfile 创建一个新的镜像。例如:
1
docker build -t my-image .
这将在当前目录中查找名为 Dockerfile
的文件,并使用它来构建名为 my-image
的新镜像。
docker exec
: 在正在运行的容器中执行命令
此命令可以在正在运行的容器中执行任意命令。例如:
1
docker exec <container-id> ls
其中 <container-id>
是要执行命令的容器 ID,ls
是要执行的命令。
docker network
: 管理 Docker 网络
此命令用于管理 Docker 网络。例如:
1
docker network create my-network
这将创建一个名为 my-network
的新网络。您可以使用其他命令向该网络添加容器等。
希望这些示例能够帮助您更好地了解 Docker 命令的用途
docker 问题排查
以下是一些常见的 Docker 管理和排查问题命令:
docker ps
: 列出当前正在运行的容器
此命令可用于查看当前正在运行的 Docker 容器。
docker logs <container-id>
: 查看容器的日志输出
此命令可用于查看容器的日志输出,以帮助您诊断问题。使用 <container-id>
替换要查看其日志的容器的 ID。
docker images
: 列出本地镜像
此命令可用于列出所有在本地 Docker 主机上可用的镜像。
docker inspect <container-id>
: 获取有关容器的详细信息
此命令可用于获取有关特定容器的详细信息,包括 IP 地址、端口映射等。
docker stop <container-id>
: 停止正在运行的容器
此命令可用于停止正在运行的 Docker 容器。使用 <container-id>
替换要停止的容器的 ID。
docker rm <container-id>
: 删除容器
此命令可用于删除指定的 Docker 容器。使用 <container-id>
替换要删除的容器的 ID。
docker exec -it <container-id> /bin/bash
: 进入正在运行的容器并打开 shell
此命令可用于进入正在运行的 Docker 容器并打开 shell。使用 -it
选项启动交互式会话。使用 <container-id>
替换要进入的容器的 ID。
docker build -t <image-name> .
: 使用 Dockerfile 构建一个新的镜像
此命令可用于使用 Dockerfile 构建新的 Docker 镜像,并为其指定名称。使用 -t
选项指定镜像名称。
docker network create <network-name>
: 创建一个新的 Docker 网络
此命令可用于创建一个新的 Docker 网络,以在该网络中运行容器。
高级命令
-
docker stats
: 显示所有正在运行的容器的 CPU、内存和网络使用情况。 -
docker network
: 用于管理 Docker 网络,包括创建、删除、连接和断开连接等操作。 -
docker volume
: 用于管理 Docker 卷,包括创建、删除、挂载和卸载等操作。 -
docker top
: 显示一个或多个容器的进程列表。 -
docker attach
: 连接到正在运行的容器,并输入命令或查看控制台输出。 -
docker exec
: 在正在运行的容器中执行命令。与docker attach
不同,docker exec
不会连接到容器的标准输入和标准输出。 -
docker commit
: 将容器保存为新的镜像。 -
docker export
: 导出容器的文件系统内容为 tar 文件。 -
docker import
: 从 tar 文件导入内容创建镜像。
docker 使用例子
以下是一些使用 Docker 命令的示例:
docker images
: 列出所有可用的本地镜像。
1
2
3
4
5
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 4c108a37151f 6 days ago 72.7MB
nginx latest bd3d43637225 2 weeks ago 133MB
mysql latest 978e8745d1f9 2 weeks ago 542MB
docker ps
: 列出所有正在运行的容器。
1
2
3
4
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b64c3da13b2 nginx "nginx -g 'daemon of…" 2 hours ago Up 2 hours 80/tcp my-nginx-container
56b8cfaae72d mysql "docker-entrypoint.s…" 3 hours ago Up 3 hours 3306/tcp my-mysql-container
docker stop <container-id>
: 停止正在运行的容器。
1
$ docker stop 8b64c3da13b2
docker rm <container-id>
: 删除已停止的容器。
1
$ docker rm 8b64c3da13b2
docker restart <container-id>
: 重启正在运行的容器。
1
$ docker restart 56b8cfaae72d
docker start <container-id>
: 启动已停止的容器。
1
$ docker start 56b8cfaae72d
docker rmi <image-name>
: 删除本地的镜像。
1
$ docker rmi mysql
docker logs <container-id>
: 查看容器的日志输出。
1
$ docker logs 56b8cfaae72d
docker login
: 登录到 Docker Hub。
1
$ docker login
docker tag <old-image-name> <new-image-name>:<tag>
: 创建一个新的标记为<new-image-name>:<tag>
的镜像。
1
$ docker tag my-nginx-container my-docker-registry.com/my-nginx-container:v1.0.0
docker push <new-image-name>:<tag>
: 将镜像推送到 Docker 镜像仓库。
1
$ docker push my-docker-registry.com/my-nginx-container:v1.0.0
docker pull <image-name>:<tag>
: 从 Docker 镜像仓库中拉取镜像。
1
$ docker pull my-docker-registry.com/my-nginx-container:v1.0.0
这些是一些使用 Docker 命令的示例。根据您的需求,可能需要添加其他选项和参数来定制每个命令的行为。