我正在尝试构建一个超账本结构映像,因为这里https://hyperledger-fabric.readthedocs.io/en/release-2.2/hsm.html他们说:"预构建的Hyperledger Fabric Docker映像未启用以使用PKCS11。如果您使用docker部署Fabric,则需要构建自己的映像并使用以下命令启用PKCS11:使docker GO_ TAGS=pkcs11";没有更多的信息,所以我想我必须获得一个图像的docker文件并构建它,我在这里找到了docker文件:https://github.com/hyperledger/fabric/blob/main/images/orderer/Dockerfile
首先,我试图在没有任何修改或自定义参数的情况下构建它,看看它是否有效,但它没有,它显示:
docker build -t myimagehlf .
Sending build context to Docker daemon 3.072kB
Step 1/22 : ARG GO_VER
Step 2/22 : ARG ALPINE_VER
Step 3/22 : FROM alpine:${ALPINE_VER} as base
invalid reference format
我认为错误出现在"RUN apk add--no cache tzdata"这一行,这是docke文件的第四行,但我不知道为什么会发生这种情况,也不知道如何修复它;我自己的图像";。谢谢你的任何想法。
我认为这里的目的是使用git克隆Fabric GitHub存储库,然后在存储库的本地副本中(使用您试图构建的Fabric版本的相应分支(运行make docker GO_TAGS=pkcs11
命令。Fabric项目的Makefile中的这个目标将构建Docker镜像。
您需要指定由变量${ALPINE_VER}
定义的高山图像的标签查看所有可用标签:https://hub.docker.com/_/alpine/tags
ARG ALPINE_VER=3.15
它将拉动alpine:3.15
我运行了一线构建
docker build -t test-image:0.1 --file Dockerfile .
[+] Building 23.5s (7/7) FINISHED
=> [internal] load build definition from Dockerfile 0.2s
=> => transferring dockerfile: 225B 0.1s
=> [internal] load .dockerignore 0.2s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/alpine:3.15 5.4s
=> [auth] library/alpine:pull token for registry-1.docker.io 0.0s
=> [1/2] FROM docker.io/library/alpine:3.15@sha256:69463fdff1f025c908939 0.4s
=> => resolve docker.io/library/alpine:3.15@sha256:69463fdff1f025c908939 0.1s
=> => sha256:69463fdff1f025c908939e86d4714b4d5518776954c 1.64kB / 1.64kB 0.0s
=> => sha256:7a38a4540724813e4190d086e955a8e757a7302551cc755 528B / 528B 0.0s
=> => sha256:c4fc938168588a0ba6178945c3d9047f27101eb3a42 1.47kB / 1.47kB 0.0s
=> [2/2] RUN apk add --no-cache tzdata 13.4s
=> exporting to image 2.3s
=> => exporting layers 2.2s
=> => writing image sha256:b707cc6dede25411607070e7560bd576a492c41ba9e88 0.0s
=> => naming to docker.io/library/test-image:0.1 0.0s