当地build造docker形象的sha256
我如何获得已经在本地构build的docker镜像的sha256校验和?
我想在派生的图像中使用校验和来注释FROM
指令:
FROM name@sha256:checksum
我已经尝试从docker inspect
校验。
-
Layers
列表中的第一个和最后一个校验和都没有工作。 -
"Id"
那个不起作用。 -
"Parent"
的一个没有工作。 - 在
"Container"
的一个没有工作。 -
"Image"
那个不起作用。
其中一些我只尝试了绝望,最终find我的docker图像正确的校验和,但我找不到正确的校验和。 只有我还没有尝试,因为层数,是通过所有的层次,如果他们是随机的顺序。 但是把它们放在那里就像这样开始是没有意义的。
我运行docker build -t <some name> .
时看到的错误docker build -t <some name> .
在派生图片的Dockerfile的目录中,当它不工作时是:
Step 1/7 : FROM name@sha256:<checksum> repository name not found: does not exist or no pull access
信息
- Docker版本:
Docker version 17.05.0-ce, build 89658be
(通过Docker version 17.05.0-ce, build 89658be
docker --version
获得) -
docker info
输出:Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 3841 Server Version: 17.05.0-ce Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 2620 Dirperm1 Supported: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host macvlan null overlay Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 9048e5e50717ea4497b757314bad98ea3763c145 runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228 init version: 949e6fa Security Options: apparmor seccomp Profile: default Kernel Version: 4.4.0-78-generic Operating System: Ubuntu 16.04.2 LTS OSType: linux Architecture: x86_64 CPUs: 4 Total Memory: 7.684GiB Name: xiaolong-hp-pavilion ID: QCJS:JPK4:KC7J:6MYF:WWCA:XQM2:7AF7:HWWI:BRZK:GT6B:D2NP:OJFS Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server): false Registry: https://index.docker.io/v1/ Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false WARNING: No swap limit support
校验docker工具正在从registry服务器中寻找FROM
行。 在检查输出中,你会在RepoDigest部分看到这个:
docker inspect -f '{{.RepoDigests}}' $image_name
如果你没有把这个图像推送到registry服务器,那么你将无法使用这个散列值。
例如:
$ docker inspect -f '{{.RepoDigests}}' busybox:latest [busybox@sha256:32f093055929dbc23dec4d03e09dfe971f5973a9ca5cf059cbfb644c206aa83f] $ cat df.testsha FROM busybox@sha256:32f093055929dbc23dec4d03e09dfe971f5973a9ca5cf059cbfb644c206aa83f CMD echo "hello world" $ docker build -f df.testsha -t test-sha . Sending build context to Docker daemon 23.35MB Step 1/2 : FROM busybox@sha256:32f093055929dbc23dec4d03e09dfe971f5973a9ca5cf059cbfb644c206aa83f ---> 00f017a8c2a6 Step 2/2 : CMD echo "hello world" ---> Running in c516e5b6a694 ---> 68dc47866183 Removing intermediate container c516e5b6a694 Successfully built 68dc47866183 Successfully tagged test-sha:latest $ docker run --rm test-sha hello world