nexus是一个强大的私库管理平台。在没有私有仓库的时候,我们镜像提交只能提交公网,会造成公网带宽。 并且我们有一些私有的镜像和maven包不想放到公网。也不好处理。
docker run -d --net host --name nexus sonatype/nexus3 启动之后我们就可以通过http://localhost:8081 访问。 默认账号密码为admin/admin123
按照下图找到create repository的地方,点击创建后选择docker(hosted)类型。
因为安全原因,docker push/pull的时候必须使用https协议,使用nexus也可以配置https,但是比较麻烦。这里我选择使用ngin代理一下使用Nexus构建的docker repository。nginx配置如下:(ssl签名使用的自签名证书)
docker login https://registry-nexus.qa.jr.ly.com:8443
因为是使用的自签名,所以dockerd服务并不认可,登录会包报错,解决方法如下:
cd /etc/docker
mkdir certs.d
创建login域名对应对应的目录,并且把registry-nexus.qa.jr.ly.com.crt文件放入
mkdir registry-nexus.qa.jr.ly.com:8443
cd registry-nexus.qa.jr.ly.com:8443
cp somedir/registry-nexus.qa.jr.ly.com.crt .
创建测试的镜像,尝试提交
docker tag centos registry-nexus.qa.jr.ly.com:8443/jfcentos
docker push registry-nexus.qa.jr.ly.com:8443/jfcentos
找一台docker login成功的机器,把家目录下面的.docker目录打包成一个压塑包,放到可以下载的地方。配置到马拉松urls目录 http://10.100.157.66/inte-docker_auth.tar.gz
(adsbygoogle = window.adsbygoogle || []).push({});