Skip to main content

Docker 常用指令

Docker 是一种用于开发、发布和运行应用程序的开源平台。以下是一些常用的 Docker 命令及其用法示例。

1. 基本操作

1.1 docker version显示 Docker 的版本信息。

docker version

1.2 docker info显示 Docker 系统的详细信息。

docker info

1.3 docker login登录到 Docker Hub 或其他 Docker 注册服务器。

docker login

1.4 docker logout登出 Docker Hub 或其他 Docker 注册服务器。

docker logout

1.5 docker search在 Docker Hub 上搜索镜像。

docker search <image_name>

1.6 docker pull从 Docker Hub 拉取镜像。

docker pull <image_name>

1.7 docker push将本地镜像推送到 Docker Hub。

docker push <image_name>

2. 镜像管理

2.1 docker images列出本地的所有 Docker 镜像。

docker images

2.2 docker build从 Dockerfile 构建镜像。

docker build -t <image_name>:<tag> /path/to/Dockerfile

2.3 docker rmi删除指定的 Docker 镜像。

docker rmi <image_id>

2.4 docker tag给镜像打标签。

docker tag <image_id> <new_image_name>:<tag>

2.5 docker save将镜像保存为 tar 包。

docker save -o <tar_file> <image_name>

2.6 docker load从 tar 包加载镜像。

docker load -i <tar_file>

2.7 docker inspect查看镜像的详细信息。

docker inspect <image_id>

3. 容器管理

3.1 docker ps列出正在运行的容器。

docker ps

3.2 docker ps -a列出所有的容器,包括停止的容器。

docker ps -a

3.3 docker run运行一个新的容器。

# 基本命令
docker run <image_name>

# 以交互模式运行并进入容器
docker run -it <image_name> /bin/bash

# 后台运行容器
docker run -d <image_name>

# 指定端口映射
docker run -p <host_port>:<container_port> <image_name>

# 挂载卷
docker run -v /host/path:/container/path <image_name>

3.4 docker start启动一个已停止的容器。

docker start <container_id>

3.5 docker stop停止一个运行中的容器。

docker stop <container_id>

3.6 docker restart重启一个容器。

docker restart <container_id>

3.7 docker rm删除一个容器。

# 删除一个已停止的容器
docker rm <container_id>

# 强制删除一个运行中的容器
docker rm -f <container_id>

3.8 docker logs查看容器的日志。

docker logs <container_id>

3.9 docker exec在运行的容器中执行命令。

# 在容器中执行命令
docker exec <container_id> <command>

# 以交互模式在容器中执行命令
docker exec -it <container_id> /bin/bash

3.10 docker attach连接到一个正在运行的容器。

docker attach <container_id>

3.11 docker cp在主机和容器之间复制文件。

# 从容器复制文件到主机
docker cp <container_id>:/path/to/file /host/path

# 从主机复制文件到容器
docker cp /host/path <container_id>:/path/to/file

4. 网络管理

4.1 docker network ls列出所有的 Docker 网络。

docker network ls

4.2 docker network create创建一个新的 Docker 网络。

docker network create <network_name>

4.3 docker network connect连接一个容器到一个网络。

docker network connect <network_name> <container_id>

4.4 docker network disconnect从网络中断开一个容器。

docker network disconnect <network_name> <container_id>

4.5 docker network rm删除一个 Docker 网络。

docker network rm <network_name>

4.6 docker network inspect查看 Docker 网络的详细信息。

docker network inspect <network_name>

5. 数据卷管理

5.1 docker volume ls列出所有的 Docker 数据卷。

docker volume ls

5.2 docker volume create创建一个新的 Docker 数据卷。

docker volume create <volume_name>

5.3 docker volume rm删除一个 Docker 数据卷。

docker volume rm <volume_name>

5.4 docker volume inspect查看 Docker 数据卷的详细信息。

docker volume inspect <volume_name>

5.5 挂载卷在运行容器时挂载数据卷。

docker run -v <volume_name>:/container/path <image_name>

6. Docker Compose

6.1 docker-compose up启动并运行 Docker Compose 定义的所有服务。

docker-compose up

6.2 docker-compose down停止并删除 Docker Compose 定义的所有服务和网络。

docker-compose down

6.3 docker-compose ps列出 Docker Compose 定义的所有服务。

docker-compose ps

6.4 docker-compose logs查看 Docker Compose 定义的所有服务的日志。

docker-compose logs

6.5 docker-compose exec在 Docker Compose 定义的服务中执行命令。

docker-compose exec <service_name> <command>

7. 系统清理

7.1 docker system prune删除未使用的数据,释放空间。

# 删除未使用的容器、网络和镜像
docker system prune

7.2 docker container prune删除所有已停止的容器。

docker container prune

7.3 docker volume prune删除所有未使用的数据卷。

docker volume prune

7.4 docker network prune删除所有未使用的网络。

docker network prune

7.5 docker image prune删除所有未使用的镜像。

docker image prune

8. 高级操作

8.1 docker stats实时查看容器的资源使用情况。

docker stats

8.2 docker top查看容器中运行的进程。

docker top <container_id>

8.3 docker events实时获取 Docker 事件。

docker events

8.4 docker history查看镜像的历史。

docker history <image_name>

8.5 docker rename重命名一个容器。

docker rename <old_name> <new_name>