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

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

1. Docker基础命令

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

复制
# 启动 systemctl start docker # 停止 systemctl stop docker # 重启 systemctl restart docker1.2.3.4.5.6.

(2) 设置开机自启动

复制
# 设置 systemctl enable docker # 取消开机自启动 systemctl disable docker1.2.3.4.

(3) 查看docker状态

复制
systemctl status docker1.

(4) 查看版本信息

复制
docker version1.

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

(5) 显示Docker系统信息

复制
docker info1.

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

(6) 查看帮助

复制
docker --help1.

二、镜像管理命令

(1) 搜索镜像

复制
docker search [镜像名]1.

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

复制
docker search nginx1.

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

(2) 下载镜像

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

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

复制
docker pull nginx:latest1.

(3) 列出本地镜像

复制
docker images1.

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

(4) 删除镜像

复制
docker rmi [镜像ID或镜像名]1.

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

复制
docker rmi nginx:latest1.

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

复制
docker rmi -f mysql1.

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

复制
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.tar1.2.

(7) 保存镜像

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

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

(8) 给镜像打标签

复制
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] docker tag nginx 10.10.10.200/software/nginx:1.261.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 nginx1.

(2) 查看运行中的容器

复制
docker ps1.

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

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

复制
docker ps -a1.

(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/bash1.

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

复制
docker exec -it mynginx /bin/bash1.

(8) 查看容器日志

复制
docker logs [容器ID或容器名]1.

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

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

复制
docker logs -f --tail 20 mynginx1.

(9) 查看容器内部细节

复制
docker inspect1.
4. 数据卷管理命令

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

(1) 创建数据卷

复制
docker volume create [卷名] docker volume create data1.2.

(2) 查看数据卷

复制
docker volume ls1.

列出所有数据卷。

(3) 删除数据卷

复制
docker volume rm [卷名] docker volume rm data1.2.

删除指定的数据卷。

(4) 查看数据卷详情

复制
docker volume inspect [卷名]1.

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

5. 网络管理命令

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

(1) 创建网络

复制
docker network create [网络名]1.

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

(2) 查看网络

复制
docker network ls1.

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

(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 -d1.2.3.4.

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

常用选项:

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

(2) 删除所有服务

复制
docker-compose down1.

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

(3) 构建或重建服务

复制
docker-compose build1.

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

复制
# 启动所有容器服务 docker-compose start # 启动指定容器服务 docker-compose start nginx # 停止/重启所有容器服务 docker-compose stop/restart # 停止/重启指定容器服务 docker-compose stop/restart nginx1.2.3.4.5.6.7.8.9.10.11.

(5) 查看服务状态

复制
docker-compose ps1.

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

(6) 查看服务日志

复制
docker-compose logs [服务名]1.

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

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

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

复制
docker-compose exec service_name command1.

删除容器

复制
docker-compose rm -f nginx1.
7. 常用清理命令

(1) 清理无用的数据

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

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

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

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

阅读剩余
THE END