Arukas上で稼働している各コンテナには、各種リソース情報を格納する MARATHON_ という文字列から始まる環境変数がございます。
例えば、お客様のコンテナ収容ホストサーバ名を示すとして、MARATHON_HOST環境変数、内部ポート番号にマッピングされている外部ポート番号を示すとして、MARATHON_PORT_<ポート番号>環境変数がございます。
$ env | grep MARATHON
MARATHON_PORT0=31990
MARATHON_APP_RESOURCE_GPUS=0
MARATHON_APP_ID=/138e01ca-8900-42f8-b269-225ba6388bcc
MARATHON_APP_DOCKER_IMAGE=nginx:latest
MARATHON_PORT_80=31990
MARATHON_APP_RESOURCE_DISK=0.0
MARATHON_APP_RESOURCE_MEM=16.0
MARATHON_HOST=seaof-59-106-238-239.jp-develop-01.arukascloud.io
MARATHON_APP_VERSION=2018-03-15T07:24:56.551Z
MARATHON_PORT=31990
MARATHON_APP_LABEL_HAPROXY_0_VHOST=dev-9ca3ba312ff0-fdsafdsafsafdsfsafsfsdfs.arukascloud.io
MARATHON_APP_LABELS=HAPROXY_GROUP HAPROXY_0_VHOST
MARATHON_PORTS=31990
MARATHON_APP_LABEL_HAPROXY_GROUP=external
MARATHON_APP_RESOURCE_CPUS=0.01
しかし、これらの環境変数は「コンテナ起動時」のタイミングでしか取得することができない仕様となっております。
そこで、仮にお客様がご利用されるDockerイメージに設定されているデフォルトの CMD(COMMAND) 設定が /entrypoint.sh である場合、Arukasコントロールパネルから、対象アプリケーションに以下のようなCMDを設定して起動することで、コンテナ起動時に読み込まれるすべての環境変数を、お客様コンテナの /etc/arukas/env ファイルに出力することが可能でございます。
変更前 | /entrypoint.sh |
---|---|
変更後 | /bin/sh -c 'mkdir /etc/arukas && env > /etc/arukas/env && /entrypoint.sh' |
コメント
0件のコメント
ログインしてコメントを残してください。