首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-java相当于"docker service create --with-registry auth“

docker-java相当于"docker service create --with-registry auth“
EN

Stack Overflow用户
提问于 2019-06-21 23:42:01
回答 2查看 224关注 0票数 0

使用https://github.com/docker-java/docker-java并寻找从https://docs.docker.com/v17.12/engine/reference/commandline/service_create/#options添加--with-registry-auth选项的方法

代码语言:javascript
复制
val createCmd = dockerClient.createServiceCmd(
                ServiceSpec()
                        .withName("name")

                        .withTaskTemplate(TaskSpec()
                                .withContainerSpec(ContainerSpec()
                                        .withEnv(envs)
                                        .withImage("image")
                                        .withMounts(mounts)
                                )
                                .withNetworks(networks)
                                .withPlacement(ServicePlacement()
                                        .withConstraints(constraints))
                        )
        )

要进一步澄清这一点,请执行以下操作:

我正在寻找docker-java方法来执行此命令(这确实有效!):

代码语言:javascript
复制
docker service create --with-registry-auth --constraint 'node.labels.mynodeid==7' myprivateregistry.foo:5000/imagename:latest

如下所示删除--with-registry-auth

代码语言:javascript
复制
docker service create --constraint 'node.labels.mynodeid==7' myprivateregistry.foo:5000/imagename:latest

将出现以下错误:No such image: myprivateregistry.foo:5000/imagename:latest,因为凭证(有效的btw )没有传递到节点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-01 06:14:12

从docker-java 3.2.0-rc5开始,您现在可以指定authConfig从私有注册表中提取映像

代码语言:javascript
复制
        AuthConfig authConfig = new AuthConfig()
                .withUsername("testuser")
                .withPassword("testpassword")
                .withEmail("foo@bar.com")
                .withRegistryAddress("your.registry.address.here");

        dockerClient.createServiceCmd(new ServiceSpec()
                .withName(SERVICE_NAME)
                .withTaskTemplate(new TaskSpec()
                        .withContainerSpec(new ContainerSpec()
                                .withImage(DEFAULT_IMAGE))))
                .withAuthConfig(authConfig)
                .exec();
票数 0
EN

Stack Overflow用户

发布于 2019-06-22 00:15:04

在代码中dockerClient对象本身中指定注册表身份验证详细信息。

查看this

如果它不起作用。首先验证您拥有的注册表身份验证详细信息是否正确,然后使用docker cli手动尝试拉取docker镜像。

将注册表配置放在.docker/config.json文件中,并尝试拉取docker镜像。然后回溯问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56706612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档