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 命令的示例。根据您的需求,可能需要添加其他选项和参数来定制每个命令的行为。