镜像签名 Notary Server 环境部署

144 阅读1分钟

Notary Server 环境部署

之前在调研Notary时,遇到了不少的问题,在排查docker cli push代码后,将整理的Notary的环境部署相关的问题

1、拉取notary仓库的代码

$ git clone https://github.com/theupdateframework/notary.git
$ cd notary

2、notary启动的默认配置文件中,可以查看对应的notary-server证书已经过期,对应的证书目录为 notary/fixtures/notary-server.crt image.png

3、首先需要更新对应的证书文件

$ cd notary/fixtures
$ ./regenerateTestingCerts.sh

image.png

4、更新证书后,就可以执行docker-compose up后,会启动3个容器 image.png

签名操作

1、使用docker启动docker-registry 容器,作为私有镜像仓库使用

docker run -d -p 5000:5000 --name registry registry:latest

2、配置docker环境变量 -> Notary Server 默认启动的端口为4443

export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://127.0.0.1:4443

3、将代码仓库中notary/fixtures/root-ca.crt 文件复制到docker配置目录下

a、cd $HOEM/.docker/tls  --- 如何不存在,创建对应的目录
b、mkdir XX, 并进入对应的目录  --- 其中XXX对应的值为之前配置的DOCKER_CONTENT_TRUST_SERVER值127.0.0.1:4443
d、cp root-ca.crt 到当前目录下

4、docker tag 一个本地镜像 -> 127.0.0.1:5000/xx/xxx:xx

5、docker push 对应的镜像

image.png

上面就是Notary Server 环境部署和测试的流程了