我正试图将docker图像作为CI jenkins工作的一部分推向神器。 我有一个Artifactory安装了url art:8080 我在Win2016上安装了Docker并构建了我的dockerfile。
现在我陷入了如何推送dockerfile的输出图像。 我试过了:
docker tag microsoft / windowsservercore art:8080 / imageID:latest docker push art:8080 / docker-local:latest
但我得到一个错误说明: 获取https://art:8080/v2/:拨打tcp:lookup artifactory:getaddrinfow:不知道这样的主机。
https来自哪里? 如何在我的神器中推送到正确的本地docker repo?
答案 0 :(得分:2)
Docker要求您使用https。我做的(我使用Nexus而不是Artifactory)是使用nginx设置反向代理。以下是该文档 - https://www.jfrog.com/confluence/display/RTF/Configuring+a+Reverse+Proxy
或者,您可以将Docker设置为不需要https(虽然不推荐)
答案 1 :(得分:0)
由于您询问如何拉,这些步骤适用于企业人工制品,其中证书CA在组织外部不受信任
$ sudo mkdir -p /etc/docker/certs.d/docker-<artifactory-resolverhost>
$ sudo cp /tmp/ca.crt /etc/docker/certs.d/docker-<artifactory-resolverhost>
$ sudo chown root:docker /etc/docker/certs.d/docker-<artifactory-resolverhost>/ca.crt
$ sudo chmod 740 /etc/docker/certs.d/docker-<artifactory-resolverhost>/ca.crt
其中ca.crt是CA受信任证书的base-64链,并且是存储库的解析器主机名。对于前。 repo.jfrog.org(如果您使用的是公共存储库)。确认您可以对“ artifactory-resolverhost”执行ping操作,以确保从您的网络可以访问
然后,您应该能够与属于docker组的用户一起拉取映像。
docker pull docker-<artifactory-resolverhost>/<repository-name>/rhel7-tomcat:8.0.18_4
然后您可以使用以下命令查看下载的图片
docker images