Docker常用命令汇总(包含docker-compose命令)

云计算 云原生 运维
本文将整理一系列Docker的常用命令,通过掌握这些常用命令,可以更轻松地使用Docker进行日常的运维、测试和部署工作。

本文将整理一系列Docker的常用命令,便于日常使用和学习。

1. Docker基础命令

(1) 启动/停止/重启docker

# 启动
systemctl start docker
# 停止
systemctl stop docker
# 重启
systemctl restart docker
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

(2) 设置开机自启动

# 设置
systemctl enable docker
# 取消开机自启动
systemctl disable docker
  • 1.
  • 2.
  • 3.
  • 4.

(3) 查看docker状态

systemctl status docker
  • 1.

(4) 查看版本信息

docker version
  • 1.

该命令显示当前安装的Docker客户端和服务器版本信息。

(5) 显示Docker系统信息

docker info
  • 1.

该命令展示关于Docker安装的详细信息,包括运行容器的数量、镜像的数量、存储驱动、网络配置等。

(6) 查看帮助

docker --help
  • 1.

二、镜像管理命令

(1) 搜索镜像

docker search [镜像名]
  • 1.

在镜像仓库上搜索指定的名称的镜像,默认是Docker Hub。

docker search nginx
  • 1.

不过企业一般会使用harbor搭建自己的镜像仓库。

(2) 下载镜像

docker pull [镜像名]:[标签]
  • 1.

下载指定的镜像到本地。如果不指定标签,则默认下载latest版本。例如:

docker pull nginx:latest
  • 1.

(3) 列出本地镜像

docker images
  • 1.

列出本地所有镜像,显示镜像ID、仓库、标签、大小等信息。

(4) 删除镜像

docker rmi [镜像ID或镜像名]
  • 1.

删除本地的某个镜像。例如:

docker rmi nginx:latest
  • 1.

-f 参数可以执行强制删除镜像:

docker rmi -f mysql
  • 1.

删除全部镜像(慎用):;

docker rmi -f $(docker images -aq)
  • 1.
  • -a 意思为显示全部
  • -q 意思为只显示ID

(5) 构建镜像

docker build -t [镜像名]:[标签] [Dockerfile所在路径]
  • 1.

从指定路径的Dockerfile构建一个新的镜像。例如从当前路径构建

docker build -t nginx:1.0 .
  • 1.

(6) 导入镜像

docker load -i 镜像保存文件位置
docker load -i /data/nginx.tar
  • 1.
  • 2.

(7) 保存镜像

docker save -o 保存的目标文件名称 镜像名
docker save -o /data/nginx.tar  nginx
  • 1.
  • 2.

保存后的镜像可以使用load加载到其他服务器上。

(8) 给镜像打标签

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag nginx  10.10.10.200/software/nginx:1.26
  • 1.
  • 2.

有时候根据业务需求 需要对一个镜像进行分类或版本迭代操作,此时就需要给镜像打上标签。10.10.10.200为镜像仓库地址,software为镜像仓库名称

3. 容器管理命令

(1) 创建并运行容器

docker run [选项] [镜像名]
  • 1.

常用选项:

选项

说明

-d

后台运行容器

-p

端口映射

--name

指定容器名称

-v

挂载卷   ;例如-v 主机路径:容器路径

示例:在后台运行一个名为mynginx的nginx容器,并映射端口:

docker run -d -p 8080:80 --name mynginx nginx
  • 1.

(2) 查看运行中的容器

docker ps
  • 1.

列出当前正在运行的容器,显示容器ID、镜像、状态、端口映射等信息。

(3) 查看所有容器(包括停止的)

docker ps -a
  • 1.

(4) 启动和停止容器

# 启动容器
docker start [容器ID或容器名]

# 停止容器
docker stop [容器ID或容器名]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

(5) 重启容器

docker restart [容器ID或容器名]
  • 1.

(6) 删除容器

docker rm [容器ID或容器名]
  • 1.

删除指定的容器。如果容器正在运行,可以使用-f强制删除。

(7) 进入容器

docker exec -it [容器ID或容器名] /bin/bash
  • 1.

在容器内启动一个交互式的Shell。例如:

docker exec -it mynginx /bin/bash
  • 1.

(8) 查看容器日志

docker logs [容器ID或容器名]
  • 1.

查看容器的输出日志。常用选项:

-f:实时输出日志。 --tail n:显示最后n行日志。 例如:

docker logs -f --tail 20 mynginx
  • 1.

(9) 查看容器内部细节

docker inspect
  • 1.

4. 数据卷管理命令

数据卷(Volume)是Docker中持久化数据的关键,通过数据卷可以将容器内的数据持久化到宿主机中。

(1) 创建数据卷

docker volume create [卷名]
docker volume create data
  • 1.
  • 2.

(2) 查看数据卷

docker volume ls
  • 1.

列出所有数据卷。

(3) 删除数据卷

docker volume rm [卷名]
docker volume rm data
  • 1.
  • 2.

删除指定的数据卷。

(4) 查看数据卷详情

docker volume inspect [卷名]
  • 1.

显示数据卷的详细信息,包括挂载路径。

5. 网络管理命令

Docker支持创建自定义网络,以便容器之间可以通过自定义网络相互通信。

(1) 创建网络

docker network create [网络名]
  • 1.

创建一个自定义网络,通常是bridge类型的网络。

(2) 查看网络

docker network ls
  • 1.

列出所有网络,包括默认网络。

(3) 查看网络详情

docker network inspect [网络名]
  • 1.

显示指定网络的详细信息,包括连接到该网络的容器信息。

(4) 删除网络

docker network rm [网络名]
  • 1.

删除指定的自定义网络。

(5) 将容器连接到网络

docker network connect [网络名] [容器名或容器ID]
  • 1.

(6) 将容器从网络断开

docker network disconnect [网络名] [容器名或容器ID]
  • 1.

6. Docker Compose命令

Docker Compose是一种定义和运行多容器Docker应用的工具,通过一个docker-compose.yml文件定义应用的服务和配置。

(1) 启动服务

docker-compose up

# 后台运行
docker-compose up -d
  • 1.
  • 2.
  • 3.
  • 4.

根据docker-compose.yml文件中的配置启动所有服务,

常用选项:

  • -d:后台运行所有服务。
  • --build:在启动之前重新构建镜像。

(2) 删除所有服务

docker-compose down
  • 1.

停止并删除所有容器、网络和卷。

(3) 构建或重建服务

docker-compose build
  • 1.

(4) 启动/停止/重启容器服务

# 启动所有容器服务
docker-compose start

# 启动指定容器服务
docker-compose start nginx

# 停止/重启所有容器服务
docker-compose stop/restart

# 停止/重启指定容器服务
docker-compose stop/restart nginx
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

(5) 查看服务状态

docker-compose ps
  • 1.

列出由docker-compose管理的所有服务及其状态。

(6) 查看服务日志

docker-compose logs [服务名]
  • 1.

查看指定服务的日志,常用选项:

  • -f:实时输出日志。
  • --tail n:显示最后n行日志。

(7) 在服务镜像的容器中执行命令

docker-compose exec service_name command
  • 1.

删除容器

docker-compose rm -f nginx
  • 1.

7. 常用清理命令

(1) 清理无用的数据

Docker提供了一些简单的清理命令,用于删除不再使用的容器、镜像、卷和网络。

  • 删除所有已停止的容器:
docker container prune
  • 1.
  • 删除未使用的镜像:
docker image prune
  • 1.
  • 删除所有未使用的数据卷:
docker volume prune
  • 1.
  • 删除所有未使用的网络:
docker network prune
  • 1.
  • 清理所有未使用的资源(包括镜像、容器、卷和网络):
docker system prune
  • 1.

通过掌握这些常用命令,可以更轻松地使用Docker进行日常的运维、测试和部署工作。

希望本文对您的Docker学习和使用有所帮助!

责任编辑:赵宁宁 来源: 运维李哥不背锅
相关推荐

2019-09-17 08:00:24

DockerCompose命令

2010-05-28 18:28:51

MySQL常用命令

2010-05-25 11:40:12

MySQL 常用命令

2010-05-27 13:12:10

MySQL 常用命令

2011-03-16 10:07:00

2014-07-25 10:55:36

Linux命令

2014-01-02 09:57:56

PostgreSQL命令

2011-01-19 17:00:09

Postfix常用命令

2020-09-28 15:14:31

Linux常用命令实用命令

2018-02-02 16:32:10

KubernetesDocker命令

2010-03-29 10:16:39

CentOS常用命令

2014-12-19 11:37:37

Docker

2015-07-22 17:32:22

mysql常用命令

2009-12-22 14:47:24

Linux常用命令

2010-04-01 18:10:32

CentOS常用命令

2015-07-28 10:21:23

git命令

2011-03-15 09:59:57

2010-04-07 11:21:28

Oracle常用命令

2022-05-05 08:08:55

Podman命令Linux

2010-04-01 17:19:04

CentOS常用命令
点赞
收藏

51CTO技术栈公众号