官术网_书友最值得收藏!

Signing an image

As an example, we will sign one of the Docker images we have built and pushed to Docker Hub in this chapter, that is, packtpubkubernetesonwindows/iis-demo-index. To follow along, you will need to perform the operations on your own image repository, <dockerId>/iis-demo-index. Signing can be performed with the following steps:

  1. Generate a delegation key pair. Locally, this can be done using the following command:
docker trust key generate <pairName>

  1. You will be asked for a passphrase for the private key. Choose a safe password and continue. The private delegation key will be stored in ~/.docker/trust/private by default (also on Windows) and the public delegation key will be saved in the current working directory.
  2. Add the delegation public key to the Notary server (for Docker Hub, it is notary.docker.io). Loading the key is performed for a particular image repository, which in Notary is identified by a Globally Unique Name (GUN). For Docker Hub, they have the form of docker.io/<dockerId>/<repository>. Execute the following command:
docker trust signer add --key <pairName>.pub <signerName> docker.io/<dockerId>/<repository>

# For example
docker trust signer add --key packtpubkubernetesonwindows-key.pub packtpubkubernetesonwindows docker.io/packtpubkubernetesonwindows/iis-demo-index
  1. If you are performing the delegation for your repository for the first time, you will be automatically asked for initiation using the local Notary canonical root key.
  2. Tag the image so that it has a specific tag that can be signed, like so:
docker tag packtpubkubernetesonwindows/iis-demo:latest packtpubkubernetesonwindows/iis-demo:1.0.1
  1. Use the private delegation key to sign the new tag and push it to Docker Hub, like so:
docker trust sign packtpubkubernetesonwindows/iis-demo:1.0.1
  1. Alternatively, this can be performed by docker push, providing that you have set the DOCKER_CONTENT_TRUST environment variable in PowerShell before pushing:
$env:DOCKER_CONTENT_TRUST=1
docker tag packtpubkubernetesonwindows/iis-demo:latest packtpubkubernetesonwindows/iis-demo:1.0.2
docker push packtpubkubernetesonwindows/iis-demo:1.0.2

  1. Now, you can inspect the remote trust data for the repository:
docker trust inspect --pretty docker.io/packtpubkubernetesonwindows/iis-demo:1.0.1

Next, let's try running a container with DCT enabled on the client side.

主站蜘蛛池模板: 永昌县| 沿河| 房山区| 泸西县| 平顺县| 张掖市| 体育| 鄱阳县| 南投县| 广安市| 拜城县| 灌阳县| 西丰县| 安康市| 老河口市| 当涂县| 轮台县| 湘潭市| 定西市| 灯塔市| 金沙县| 汽车| 获嘉县| 香格里拉县| 双峰县| 双流县| 福泉市| 博乐市| 巍山| 巴里| 鄱阳县| 南宁市| 河源市| 方山县| 怀安县| 拜泉县| 凌源市| 黄冈市| 陆川县| 盐亭县| 花垣县|