https://docker.somedomain.com (5000 ではなく標準ポート 443 経由)でアクセスできるプライベート Docker レジストリがあります。私のインフラストラクチャには、docker コンテナー化が有効になっている Mesosphere のセットアップが含まれています。Marathon 経由で特定のコンテナーを Mesos スレーブにデプロイしようとしています。ただし、これは常に Mesos がそのサンドボックスの stderr と stdout にデータがなく、ほぼ即座にタスクを失敗させて失敗します。
標準の Docker レジストリのイメージからデプロイしようとしましたが、うまく動作しているようです。何が悪いのかわからなくて困っています。私のプライベート Docker レジストリはパスワード認証を必要としません (これをデバッグするためにオフにします)。また、Meso のスレーブ インスタンスにシェルでアクセスし、root として sudo su を実行すると、「docker pull docker.somedomain.com/services/myapp」を実行できます。毎回成功。
タスクを開始するためのマラソン投稿データは次のとおりです。
{
"id": "myapp",
"cpus": 0.5,
"mem": 64.0,
"instances": 1,
"container": {
"type": "DOCKER",
"docker": {
"image": "docker.somedomain.com/services/myapp:2",
"network": "BRIDGE",
"portMappings": [
{ "containerPort": 7000, "hostPort": 0, "servicePort": 0, "protocol": "tcp" }
]
},
"volumes": [
{
"containerPath": "application.yml",
"hostPath": "/var/myapp/application.yml",
"mode": "RO"
}
]
},
"healthChecks": [
{
"protocol": "HTTP",
"portIndex": 0,
"path": "/",
"gracePeriodSeconds": 5,
"intervalSeconds": 20,
"maxConsecutiveFailures": 3
}
]
}
私はこれでほぼ1日立ち往生しており、私が試したすべてが同じ結果をもたらしているようです。これに関する洞察は大歓迎です。
私のバージョン: Mesos: 0.22.1 Marathon: 0.8.2 Docker: 1.6.2