docker 常用命令

1. docker 的 启动、关闭、状态查看

systemctl start docker
systemctl stop docker
systemctl status docker

2.查看镜像

docker images

执行该命令后,会列出本地已有的镜像信息,包括镜像的仓库名称、标签、镜像 ID、创建时间以及镜像大小等。

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              1234567890ab        2 weeks ago         133MB
ubuntu              latest              abcdefghijkl        3 days ago          72.9MB

3.容器的建立 

1.确定要使用的镜像

可以从 Docker Hub 等镜像仓库中拉取所需的镜像。例如,要拉取一个名为 nginx 的镜像,可以使用以下命令:

docker pull nginx

这将从 Docker Hub 下载 nginx 镜像到本地。

2.使用 docker run 建立容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

例如,以下命令将创建一个基于 nginx 镜像的容器,并将容器的 8080 端口映射到宿主机的 80 端口: 

docker run -p 80:8080 -d nginx
  • -p 80:8080:表示将宿主机的 80 端口映射到容器的 8080 端口。这样,外部可以通过访问宿主机的 80 端口来访问容器内运行的 nginx 服务。
  • -d:表示以守护式(后台)模式运行容器。
  • 可以使用其他选项来进一步配置容器,如:
    • --name:为容器指定一个名称。
    • -v:将宿主机的目录挂载到容器中,实现数据持久化。
    • -e:设置容器内的环境变量。

4.容器的启动、停止、查看状态、删除

启动容器

语法:docker start [容器名称或容器 ID]

例如:docker start my_container,这里 my_container 是容器的名称或 ID。

启动流程:Docker 会恢复被停止的容器的运行状态,重新分配必要的资源,如内存和 CPU,并启动容器内的进程。

停止容器

语法:docker stop [容器名称或容器 ID]

例如:docker stop my_container

停止流程:Docker 会向容器内的主进程发送一个停止信号(通常是 SIGTERM),让容器内的进程有机会进行清理和保存工作。如果在一段时间后(默认是 10 秒)容器内的进程没有停止,Docker 会发送一个强制停止信号(SIGKILL)来立即停止容器。

查看容器状态

1.使用 docker ps 命令查看正在运行的容器的状态。

语法:docker ps [OPTIONS]

常用选项:

  • -a:显示所有容器,包括已停止的容器。

  • -q:只显示容器 ID。

例如:docker ps -a 将显示所有容器的详细信息,包括容器 ID、镜像名称、启动命令、创建时间、状态等。

查看流程:Docker 会查询其内部的容器管理数据库,获取关于容器的信息,并以表格形式显示出来,让你可以快速了解容器的当前状态。

2.使用 docker inspect 命令可以获取更详细的容器信息,包括网络配置、存储卷挂载等。

语法:docker inspect [容器名称或容器 ID]

例如:docker inspect my_container

查看流程:Docker 会返回一个 JSON 格式的详细信息,你可以使用工具或脚本解析这个 JSON 数据,以获取特定的容器属性信息。

删除容器

1.停止容器(如果容器正在运行)

首先,确定要删除的容器是否正在运行。如果容器正在运行,需要先停止它。可以使用以下命令停止容器:

docker stop [容器名称或容器 ID]

2.删除单个容器

docker rm [容器名称或容器 ID]

三、删除多个容器

如果要同时删除多个容器,可以使用以下方法:

  • 首先,使用 docker ps -a -q 命令获取所有容器的 ID。这个命令会列出所有容器的 ID,不包括其他信息,方便后续操作。
  • 然后,可以使用 docker rm 命令结合管道操作符 | 来删除这些容器。例如:docker ps -a -q | xargs docker rm。这将删除所有已停止的容器。如果要删除正在运行的容器,可能需要添加 -f 选项强制删除,但这可能会导致数据丢失,所以要谨慎使用。

在删除容器时要注意以下几点:

  • 确保容器不再需要,因为删除后容器内的数据可能无法恢复。
  • 如果容器正在运行,最好先停止它,然后再删除,以避免出现错误。
  • 对于正在运行的容器,如果强制删除可能会导致数据丢失或其他不可预测的问题。

5. 进入容器 

docker exec -it [容器名称或容器 ID] [要在容器中执行的命令]

如果只是想进入容器的 shell 环境而不执行特定命令,可以使用 /bin/bash(如果容器基于 Linux 系统且有 bash)或 /bin/sh

docker exec -it nginx1 /bin/bash

这里 nginx1 是容器名称,执行这个命令后,你将进入容器的 bash 环境,可以在容器内执行各种命令,进行调试、查看文件等操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值