从私人枢纽拉图像的问题

问题描述 投票:0回答:2

我有以下问题:尝试从私有集线器拉出已构建的docker镜像并将其作为服务运行,但会出现以下错误

Failed to launch container: Failed to run 'docker -H unix:///var/run/docker.sock pull r.cfcr.io/path/to/repo/': exited with status 1; stderr='Error: Cannot perform an interactive login from a non TTY device '

这是我用来验证的fetch [] config.json信息:

{
    "auths": {
        "r.cfcr.io": {
            "auth": "=auth_token="
        }
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/18.06.1-ce (linux)"
    }
}

你知道如何解决这个问题吗?

docker mesosphere dcos
2个回答
0
投票

可能没有与此处的问题相关联,但有些人在尝试从Windows上的类似Linux的终端登录时,可能会遇到完全相同的消息,例如Git bash或Docker quickstart终端甚至是Cygwin。

这里的诀窍是使用winpty docker login

或尝试使用此命令

docker login "${URL}" -u "${Username}" -p "${PASSWORD}"

0
投票

您必须将config.json文件保存在$ MESOS_SANDBOX的.docker目录中。因此,使用下面的文件列表创建.docker目录的archieve:

$ tar tvf docker-login.tar                                                                                      
drwx------ parvez/parvez     0 2019-06-12 21:45 .docker/
-rw------- parvez/parvez   177 2019-06-12 21:45 .docker/config.json

从mesos配置中获取并提取此存档。

"fetch": [{ 
              "uri": "https://foo.com/docker-login.tar", 
              "executable": false,
              "extract": true, 
              "cache": true 
          }],

它将在$ MESOS SANDBOX路径下载和提取存档,并且docker pull应该成功。

© www.soinside.com 2019 - 2024. All rights reserved.