アプリケーションからの要求に応じて数回展開されるコンテナーがあります。コンテナー間の違いは環境変数に依存し、異なる bd (PostgreSQL) と異なるテーブルを指します (テーブルはヘルス チェックのパス プロパティを表します)。 )。DC/OS 1.8 に最初のサービスを展開すると、うまく機能しますが、残りの展開は機能しません。
私app.json
の見た目は次のとおりです。
{
"volumes": null,
"id": "/data-microservices/ms1",
"cmd": null,
"args": null,
"user": null,
"env": {
"DATABASE_URL": "postgres://<username>:<password>@<host>:5432/<dbname>",
"TABLE": "<thetable>"
},
"instances": 1,
"cpus": 0.1,
"mem": 65,
"disk": 0,
"gpus": 0,
"backoffSeconds": 1,
"backoffFactor": 1.15,
"maxLaunchDelaySeconds": 3600,
"container": {
"docker": {
"image": "imtachu/data-microservice",
"forcePullImage": true,
"privileged": false,
"portMappings": [
{
"containerPort": 8080,
"protocol": "tcp"
}
],
"network": "BRIDGE"
}
},
"healthChecks": [
{
"protocol": "HTTP",
"path": "/api/<thetable>",
"gracePeriodSeconds": 10,
"intervalSeconds": 2,
"timeoutSeconds": 10,
"maxConsecutiveFailures": 10,
"ignoreHttp1xx": false
}
],
"readinessChecks": null,
"dependencies": null,
"upgradeStrategy": {
"minimumHealthCapacity": 1,
"maximumOverCapacity": 1
},
"labels": {
"HAPROXY_GROUP": "external",
"HAPROXY_0_VHOST": "dcos2-PublicSlaveL-KWSCFODW1ME5-878889582.us-east-1.elb.amazonaws.com"
},
"acceptedResourceRoles": null,
"residency": null,
"secrets": null,
"taskKillGracePeriodSeconds": null,
"portDefinitions": [
{
"protocol": "tcp",
"labels": {}
}
],
"requirePorts": false
}
これまでのところ、hostPort
プロパティを変更してHAPROXY_0_VHOST
をに変更しようとしHAPROXY_1_VHOST
たrequirePorts
ので、各コンテナを異なるポートで実行できるかもしれません。
最初にテーブル A を指すサービスをデプロイしてから、テーブル B を指す別のサービスをデプロイしようとしましたが、動作は同じです。最初にデプロイされたサービスは常に機能し、残りは機能しません。