docker-compose.ymlの中で値を使い回す方法|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。Rails関連以外2020.02.07docker-compose.ymlの中で値を使い回す方法hachi8833シェアツイートブックマークLINE小ネタで恐縮です。docker-composeは便利なのですが、docker-compose.ymlの中でローカル変数的に値を手軽に使い回す方法を知りたくなりました。"12"と指定しますが、これはDocker側の環境変数にexportされてDockerfile側で参照する前提です(この場合はpsqlのビルドに使われます)。postgres:{$PG_MAJOR}などと書いてもエラーになります。Overflowですが、yamlの機能である程度実現できることがわかりました。「アンカー/エイリアス」機能を用います。Composeで無視されるようになります。そこに&アンカー名を書くと、値を*アンカー名でエイリアスとして参照できます。以下ではx-varにしていますが、わかりやすい名前でよいと思います。言語におけるアドレスやポインタと同じ表記です)。上の例でもわかるように、シェルの環境変数みたいに値を結合したり一部を置き換えたりすることはできませんでした。postgres:{$PG_MAJOR}のように書きたかったのですがダメでした😢。わかってしまえばどうということはありませんでしたが、それでも変動する可能性のある値をdocker-compose.ymlの冒頭にまとめられたので、バージョン更新のときに見落としにくくなったと思います(つか前は見落としました)。docker-compose自体の機能ではないので、そのつもりで使うことにします。コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。enno.jpを運営。実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。Storageを使ってはいけない(翻訳)#Tags#会社紹介#自社サービス#勉強会#Rails#PHP#デザイン#実績#週刊RailsウオッチCONTACTお気軽にご相談ください。(翻訳)CONTACTTechRachoでは、パートナーシップをご検討いただける方からのご連絡をお待ちしております。お気軽にご意見・ご相談ください。