【问题标题】:docker command from the running docker / process来自正在运行的 docker / 进程的 docker 命令
【发布时间】:2016-05-14 05:37:57
【问题描述】:

在我的设置中,我们使用 Amazon ECS 基础设施启动 docker 容器。我知道 docker 正在运行的 EC2 机器(主机),并且可以看到容器 ID。

有了这些信息,我是否可以弄清楚用于运行容器的 docker 命令如何?

例如

$ sudo docker ps
CONTAINER ID        IMAGE                                                               COMMAND             CREATED             STATUS              PORTS                        NAMES
d02739ac9a59        dockerhub.amazonaws.com/something   "/script.sh"   32 minutes ago      Up 32 minutes                                    ecs-production
cf47d404c6ba        amazon/amazon-ecs-agent:v1.7.1                                      "/agent"            About an hour ago   Up About an hour    127.0.0.1:51678->51678/tcp   ecs-agent

我有这个。我想知道,什么是

sudo docker run <various configuration parameters>

【问题讨论】:

  • 您可以运行sudo docker inspect &lt;container-id&gt;查看详细信息。

标签: amazon-ec2 docker


【解决方案1】:

this discussion中所述:

您不会在一行中获得从 docker inspect 传递给 docker run 的确切完整命令,包括卷、端口映射和其他选项。
您必须从 docker inspect 返回的 json 中提取此信息,并构建使用的完整 docker run 命令。

例如,this gist suggests:

# Convert an existing docker container into a "docker run" command line.
# 
# This is useful when trying to debug containers that have been created
# by orchestration tools.
#
# Install jq: stedolan.github.io/jq/

function format_run() {
    cid=$1

    json=$(docker inspect $cid 2>&1)

    # parse container info
    entrypoint=$(  echo $json | jq -r '.[0].Config.Entrypoint | join(" ")'             )
    envvars=$(     echo $json | jq -r '(.[0].Config.Env | [" -e " + .[]] | join(""))'  )
    image=$(       echo $json | jq -r .[0].Image                                       )
    cmd=$(         echo $json | jq -r '.[0].Config.Cmd | join(" ")'                    )

    echo "docker run --entrypoint $entrypoint $envvars $image $cmd"
}

这仍然不完整:您还需要:

  • {{.VolumesFrom}}
  • {{.Volumes}}
  • {{ .HostConfig.links}}
  • 还有许多其他

查看nexdrew/rekcod更多更完整的解决方案。

【讨论】:

  • 谢谢!这非常有帮助。
猜你喜欢
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多