docker 容器命令

本文详细介绍了Docker中的关键操作,如获取和使用镜像、初始化和管理容器(包括启动、停止、重启),以及进入容器、查看日志、删除和检查容器状态的方法。
摘要由CSDN通过智能技术生成

首先可以看docker自带的说明书,可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。

也可以通过命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。 如:

获取镜像 

镜像就像模具一样,根据镜像来生成容器,如果我们本地没有 nginx镜像,我们可以使用 docker pull 命令来载入 nginx镜像。

docker pull nginx         <nginx为镜像名称>
docker pull nginx:1.19.2  <镜像名称>:<版本号>

注:不加版本号则拉取最新<latest>镜像

查看镜像

docker images

注:这是镜像相关命令。

 

初始化启动容器

docker run --name my-nginx -d -p 8080:80 nginx
  • --name my-nginx:给容器命名为my-nginx。可以替换成你喜欢的名称。
  • -d:在后台以守护进程(detached mode)的形式运行容器。加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec。
  • -p 8080:80:将宿主机的8080端口映射到容器的80端口。这样就可以通过访问宿主机的8080端口来访问Nginx服务了。
  • nginx:指定要运行的镜像名称(注意这是镜像名称)。
  • -i: 交互式操作,如果是交互操作 可以用 exit来退出交互终端。
  • -t: 终端。

注:在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式,如后台启动ubuntu, docker run -itd --name ubuntu-test ubuntu /bin/bash。

 

查看所有的容器命令

docker ps -a

注:docker ps -a可查看运行和停止的容器,如果只查看正在运行的容器用 docker ps命令。

启动容器

docker start <容器ID> 

注:

docker startdocker run是Docker中用于管理容器的两个重要命令,但它们的功能和使用场景有所不同。

docker start命令用于启动已经存在的容器。当你有一个之前已经创建但当前处于停止状态的容器,你可以使用docker start命令来重新启动它。这个命令的基本语法是docker start [OPTIONS] CONTAINER [CONTAINER...],其中CONTAINER参数指定要启动的容器的名称或ID。docker start命令会使容器从上次停止的位置继续运行。

docker run命令则用于在Docker中创建并启动一个新的容器。这个命令实际上执行了两步操作:首先,它使用指定的镜像创建一个新的容器;然后,它启动这个新创建的容器。docker run命令的基本语法是docker run [OPTIONS] IMAGE [COMMAND] [ARG...],其中IMAGE参数指定要运行的容器镜像的名称或ID,COMMANDARG参数则是可选的,用于指定在容器中执行的命令及其参数。

因此,简单来说,docker start用于启动已经存在的容器,而docker run则用于创建并启动新的容器。

进入容器的两个命令

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach

docker attach <容器ID>

  注:通过如上命令如果从这个容器退出,会导致容器的停止。 

  • docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。

docker exec -it <容器ID>

注:

docker startdocker exec是Docker中用于容器管理的两个不同命令,它们各自具有特定的用途。

docker start命令用于启动一个或多个已经存在的、但当前处于停止状态的容器。当容器被创建后,可能会因为各种原因(如错误退出或手动停止)而停止运行。此时,可以使用docker start命令来重新启动这些容器,使它们从上次停止的位置继续运行。

docker exec命令则用于在已经运行的容器内部执行特定的命令。这意味着你可以通过docker exec进入一个正在运行的容器的命令行终端,与该容器进行交互,执行诸如运行脚本、安装软件、查看日志等操作。这对于调试容器内部的问题或执行某些需要容器运行时环境的任务非常有用。

简而言之,docker start关注于启动容器,而docker exec关注于在已运行的容器内部执行命令。

停止一个容器

docker stop <容器ID>

重启一个容器

docker restart <容器ID>

注:docker start 只会启动那些已经停止的容器。如果容器已经在运行,docker start 命令不会有任何效果。docker restart 会先停止容器(如果容器正在运行的话),然后再重新启动它。无论容器当前是运行状态还是停止状态,docker restart 都会尝试重新启动它。

查看某个容器的日志

docker logs -f <容器ID>

注:-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

移除一个容器

docker rm <容器ID>

查看容器进程

docker top <容器ID>

检查容器

docker inspect <容器ID>

注:当你查看容器的信息时,返回的 JSON 对象通常包含以下关键部分(这里只列出了一部分,因为实际返回的 JSON 会非常详细):

  • ID:容器的唯一标识符。
  • Created:容器的创建时间。
  • Path:容器启动时运行的命令。
  • Args:传递给命令的参数列表。
  • State:容器的当前状态(如 running、paused、exited 等)。
  • Image:容器基于的镜像信息。
  • NetworkSettings:容器的网络配置信息,包括 IP 地址、端口映射等。
  • Mounts:容器挂载的卷信息。
  • Config:容器的配置信息,如环境变量、工作目录等。
  • HostConfig:主机配置信息,如容器的资源限制、端口绑定等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值