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>