Docker 存储变量值和执行扫描操作的命令
Docker commands to store variable values and perform scan operation
我有一个任务要对 docker 图像执行扫描,要求是:
- 从 artifactory 中拉取 docker 图像。
- 列出已下载的图像并仅获取所需的下载图像 (imageID)。
- 并将其存储在一个变量中,以便我们可以在运行宁扫描时使用它。
我已经使用 docker 命令从 artifactory 下载图像 -- "docker pull " 并列出它使用-- docker images | grep "$(URL)" | awk '{ print }'
但是我无法使用变量来找到特定的docker imageID,它是在这次扫描中从人工制品中提取的运行,从下面列出的 docker 图像中,以便我可以在我的扫描命令中使用该唯一变量作为 $(variable_name).
例如:命令 docker images | grep "$(URL)" | awk '{ print }'
的输出应该存储在一个唯一的变量中,以便它将用于下一个过程,并且每次触发管道时它应该在存储的那个变量中有一个新值。
有什么办法吗
假设您使用的是bash,您可以使用:
varname=$(docker images | grep "$(URL)" | awk '{ print }')
但是,有一些方法可以改进您正在做的事情。例如,如果您只对 URL 进行 grep,docker images
格式化输出的方式与提供给 docker pull
的方式不同,您可以通过几种方式获得不同的错误结果.例如:
$ docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
Digest: sha256:26c68657ccce2cb0a31b330cb0be2b5e108d467f641c62e13ab40cbec258c68d
Status: Image is up to date for ubuntu:22.04
docker.io/library/ubuntu:22.04
$ docker images | grep ubuntu:22.04 # we get zero hits
$ docker images | grep ubuntu # we get two hits
ubuntu 22.04 d2e4e1f51132 4 weeks ago 77.8MB
ubuntu jammy f0b07b45d05b 7 weeks ago 77.9MB
$
而是使用 docker images "$URL" --format
:
$ URL=ubuntu:22.04
$ docker images "$URL" --format '{{.ID}}'
d2e4e1f51132
$ varname=$(docker images "$URL" --format '{{.ID}}')
$ echo $varname
d2e4e1f51132
我有一个任务要对 docker 图像执行扫描,要求是:
- 从 artifactory 中拉取 docker 图像。
- 列出已下载的图像并仅获取所需的下载图像 (imageID)。
- 并将其存储在一个变量中,以便我们可以在运行宁扫描时使用它。
我已经使用 docker 命令从 artifactory 下载图像 -- "docker pull docker images | grep "$(URL)" | awk '{ print }'
但是我无法使用变量来找到特定的docker imageID,它是在这次扫描中从人工制品中提取的运行,从下面列出的 docker 图像中,以便我可以在我的扫描命令中使用该唯一变量作为 $(variable_name).
例如:命令 docker images | grep "$(URL)" | awk '{ print }'
的输出应该存储在一个唯一的变量中,以便它将用于下一个过程,并且每次触发管道时它应该在存储的那个变量中有一个新值。
有什么办法吗
假设您使用的是bash,您可以使用:
varname=$(docker images | grep "$(URL)" | awk '{ print }')
但是,有一些方法可以改进您正在做的事情。例如,如果您只对 URL 进行 grep,docker images
格式化输出的方式与提供给 docker pull
的方式不同,您可以通过几种方式获得不同的错误结果.例如:
$ docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
Digest: sha256:26c68657ccce2cb0a31b330cb0be2b5e108d467f641c62e13ab40cbec258c68d
Status: Image is up to date for ubuntu:22.04
docker.io/library/ubuntu:22.04
$ docker images | grep ubuntu:22.04 # we get zero hits
$ docker images | grep ubuntu # we get two hits
ubuntu 22.04 d2e4e1f51132 4 weeks ago 77.8MB
ubuntu jammy f0b07b45d05b 7 weeks ago 77.9MB
$
而是使用 docker images "$URL" --format
:
$ URL=ubuntu:22.04
$ docker images "$URL" --format '{{.ID}}'
d2e4e1f51132
$ varname=$(docker images "$URL" --format '{{.ID}}')
$ echo $varname
d2e4e1f51132