Как вытащить образ докера с марафона, который нужно авторизовать
Я хочу развернуть докер-контейнер с марафоном, если образ докера без авторизации, образ можно вытащить нормально, но когда я пытаюсь вытащить образ из репозитория, который необходимо авторизовать, сбой развертывания задачи, ответ
Failed to launch container: Failed to run 'docker -H unix:///var/run/docker.sock pull example.com/web:laest': exited with status 1; stderr='Error response from daemon: repository example.com/web not found: does not exist or no pull access '
Я изменил разрешение файла /var/run/docker.sock на 777 на узле и master, но проблема все еще появилась, и кажется, что разрешение не является основной причиной проблемы; Я пытаюсь запустить "docker login" на узле и вытащить образ вручную, затем марафонская задача запускается правильно, мой марафон json, как показано ниже:
{
"id": "/web",
"cmd": "docker login --username='sam' --passwoer='123456' example.com/web:latest",
"cpus": 0.3,
"mem": 32,
"disk": 0,
"instances": 1,
"env": {
"EMAIL_USE_TLS": "False",
"DATABASE_URI": "mysql://user:123456@RDS:3306/test"
},
"container": {
"type": "DOCKER",
"volumes": [
{
"containerPath": "/data/supervisor/",
"hostPath": "/data/workspace/logs/supervisor/",
"mode": "RW"
}
],
"docker": {
"image": "daocloud.io/gizwits2015/gwaccounts:1.6.0",
"network": "BRIDGE",
"portMappings": [
{
"containerPort": 0,
"hostPort": 0,
"servicePort": 10000,
"protocol": "tcp",
"labels": {}
}
],
"privileged": false,
"parameters": [
{
"key": "add-host",
"value": "RDS:10.66.125.161"
}
],
"forcePullImage": false
}
},
"portDefinitions": [
{
"port": 10000,
"protocol": "tcp",
"name": "default",
"labels": {}
}
]
}
Как я могу вытащить изображение с авторизованным марафоном?
1 ответ
Вы должны прочитать: https://mesosphere.github.io/marathon/docs/native-docker-private-registry.html
Выполните шаг 1, а на шаге 2 замените uris
раздел с
"fetch" : [
{
"uri" : "https://path.to/file",
"extract" : true,
"outputFile" : "dockerConfig.tar.gz"
}
]
Я написал более подробное объяснение здесь: http://blog.itaysk.com/2017/05/22/using-a-custom-private-docker-registry-with-marathon