在做集群批量部署的过程中,记录日志及链路追踪时,我们需要在大量的容器中筛选出出现问题或需要记录的容积,以更快的方式确认错误的位置,因此在容器荣能获取到容器的 id 我们即能方便的进行问题定位

  1. 宿主机中获取容器 id 如下图所示
docker ps
CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS              PORTS                                                                   NAMES
9440dd89c405        mongo                             "docker-entrypoint.s…"   3 days ago          Up 3 days           0.0.0.0:27017->27017/tcp                                                mongo
  1. 如果想在容器中获取
docker exec -it mongo bash
cat /proc/self/cgroup | head -1
12:cpuset:/docker/9440dd89c4052167611e467efd47e1feccabaad448594cbc90eb7fb3f12f4c3f

可以看出后面的 944 开头的就是容器自身的id。

head -1 /proc/self/cgroup|cut -d/ -f3
9440dd89c4052167611e467efd47e1feccabaad448594cbc90eb7fb3f

只取12位id

head -1 /proc/self/cgroup|cut -d/ -f3|cut -c1-12
9440dd89c405
                    宿主机中获取容器 id 如下图所示docker psCONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS              PORTS                                                                   NAMES9440dd89c405        mongo    .
[root@wls12c ~]$ docker ps -a
CONTAINER ID    IMAGE        COMMAND       CREATED       STATUS          NAMES
037b847bf093    centos       /bin/bash     3 minutes ago    Exited (0) 2 minute   naughty_davinci
				
进入docker容器后如果退出容器容器就会变成Exited的状态,那么如何退出容器容器不关闭呢? 如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记! 以下示例为退出容器但不关闭容器 [root@localhost ~]# docker attach c600c4519fc8 [root@c600c4519fc8 /]# exit [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS P
2.1 找出Docker容器日志 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log结尾的文件(业务日志)很大,查看各个日志文件大小的脚本docker_log_size.sh,内容如下: #!/bin/sh echo ======== docker containers logs file size ========
容器的使用过程中,如果能及时的掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的。幸运的是 docker 自己就提供了这样的命令:docker stats。 docker stats 命令用来显示容器使用的系统资源。不带任何选项执行 docker stats 命令: $ docker stats 默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容: [CONTAINER]:以短格式显示容器ID。 [CPU %]:CPU 的使用情况。 [MEM USAGE / LIMIT]:当前使用的内存和最大可以使用
Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务。 以下操作通过myfirstapp镜像模拟,如何制作myfirstapp镜像请点击此处。 1、外部访问容器 容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射。 a、用-P(大写)标记时,docker会随机选择一个端口映射到容器内部开放的网络端口上。 $ docker run -d -P myfirstapp python app.py $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
介绍两种办法查询容器id 1.使用docker ps -aqf “name=containername” 2.docker inspect --format="{{.Id}}" container_name 方法1: [root@node1 filebeat]# docker ps -aqf "name=test2" 0f0b77cd0c53 [root@node1 filebeat... http://10.161.0.1:5051/containers cadvisor接口/api/v1.2/docker http://10.161.0.1:18081/api/v1.2/docker marathon接口取实例运行slav主机,通过slave的container接口取container-id,拼接meso-可以得到容器对应的mesos-con 要获取Docker容器启动的参数,可以通过以下几种方式: 1. 使用`docker inspect`命令:通过该命令可以获取Docker容器的详细信息,包括容器的启动参数。可以通过`docker inspect <容器ID>`或`docker inspect <容器名称>`来获取指定容器的信息。在返回的JSON格式的输出中,可以找到`Args`字段,其中包含了容器启动时使用的命令和参数。 2. 使用`docker container ls`命令:通过该命令可以列出当前正在运行的容器的信息,包括容器的启动参数。可以通过`docker container ls`或`docker ps`命令来列出容器的基本信息。在输出的表格中,可以找到`COMMAND`列,其中包含了容器启动时使用的命令和参数。 3. 进入容器内部查看:可以通过`docker exec`命令进入容器内部,然后查看容器运行时的参数。可以使用`docker exec -it <容器ID> /bin/bash`命令来进入容器的shell环境。在容器内部,可以使用`ps aux`命令查看当前运行的进程和对应的参数。 总之,可以通过`docker inspect`、`docker container ls`命令或进入容器内部查看进程来获取Docker容器启动的参数。 ### 回答2: 要获取Docker容器启动的参数,可以使用docker inspect命令。该命令用于检查Docker对象的详细信息,包括容器、镜像、网络等。下面是获取容器启动参数的步骤: 1. 确保Docker已经安装并且正在运行。 2. 打开终端或命令提示符,然后执行以下命令: docker ps 这将列出所有正在运行的容器。请记住您要获取参数的容器的名称或ID。 3. 执行以下命令以获取容器的详细信息: docker inspect <容器名称或ID> 替换<容器名称或ID>为您要查看的容器的实际名称或ID。 4. 在输出结果中,您可以找到启动参数的信息。启动参数通常位于"Config"部分,它包含容器的配置信息。在此部分中,您可以找到以下字段: - "Cmd"字段显示了容器启动时所使用的命令。 - "Args"字段显示了传递给启动命令的参数。 通过查看这些字段,您可以获取容器启动的参数。 使用上述步骤,您可以轻松地获取Docker容器启动的参数信息。请确保您具备足够的权限来执行这些命令。 ### 回答3: 要获取Docker容器的启动参数,可以通过使用Docker命令行工具或Docker API来实现。 使用Docker命令行工具: 1. 执行命令 "docker ps" 列出当前正在运行的容器。 2. 根据容器的名称或ID选择要查看的容器。 3. 执行命令 "docker inspect <容器名称或ID>" 查看该容器的详细信息。 4. 在返回的JSON输出中,可以找到"Args"字段,其中包含了容器启动时的参数。 使用Docker API: 1. 使用适合自己编程语言的Docker客户端库连接到Docker守护进程。 2. 使用Docker API的"GET /containers/{id}/json"接口,其中{id}为容器ID。 3. 根据返回的JSON响应,可以找到"Args"字段,其中包含了容器启动时的参数。 无论使用哪种方式,获取到的启动参数是一个数组,包含了容器启动时传递的所有参数。这些参数可以是容器指定的命令、环境变量值,或者其他自定义参数。 总之,获取Docker容器启动的参数可以通过使用Docker命令行工具或Docker API来实现,通过查看容器的详细信息并获取"Args"字段的值来获得。