从标签名称获取容器ID

问题描述 投票:0回答:1

我正在尝试使用docker cp从容器中复制文件。我使用docker build -t math-gsl-ubuntu-2004 .构建了容器,并使用docker run运行了容器映像后,在容器中生成了文件/math--gsl/Math-GSL-0.41.tar.gz。要复制文件,我可以]

$ docker ps
CONTAINER ID        IMAGE                  COMMAND                 CREATED             STATUS              PORTS               NAMES
b651512240f2        math-gsl-ubuntu-2004   "./entrypoint.sh 2.6"   3 hours ago         Up 3 hours                              boring_lamport
ee008e7b8f01        44f63ff22dea           "./entrypoint.sh"       3 hours ago         Up 3 hours                              heuristic_liskov

然后我从上面的输出中注意到ID为b651512240f2,我可以从主机发出docker cp b651512240f2:/math--gsl/Math-GSL-0.41.tar.gz .以将文件从容器中取出。

现在我要通过名称math-gsl-ubuntu-2004以编程方式确定容器ID:

$ docker inspect --format="{{.Id}}" math-gsl-ubuntu-2004
sha256:866d21bece6aaf63496a5b173cafa37a25e21d22f7d34c1bbae4c602526c419b

但是与b651512240f2的容器ID不匹配。我想念什么?

docker
1个回答
0
投票

您可以尝试此操作而不是检查图像,

docker ps -a | grep <image:tag> | awk '{print $1}' | head -n 1

examples:

docker ps -a | grep ubuntu | awk '{print $1}' | head -n 1

docker ps -a | grep ubuntu:18.04 | awk '{print $1}' | head -n 1
© www.soinside.com 2019 - 2024. All rights reserved.