我被我的 CloudFormation 腳本的一部分困住了:我有一個帶有 Docker 燈的 EC2 和用 Docker-compose 檔案定義的 Wordpress,以及 VPC 中的一個單獨的 RDS 資料庫。
每次我創建堆疊時,RDS 端點都會發生變化。我需要在 docker compose 檔案中撰寫新端點以允許通信。我撰寫了一個 bash 腳本來通過替換 WORDPRESS_DB_HOST 行來更改此資訊,這沒關系,但是我無法正確傳遞端點,我認為這是一個語法問題,我無法找到解決方案。
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
sed -i 's/WORDPRESS_DB_HOST.*/WORDPRESS_DB_HOST: {Fn::GetAtt: ["MasterDB", "Endpoint.Address"]}:3306 /' /home/ubuntu/lampconfig/docker-compose.yml
docker-compose up -d
uj5u.com熱心網友回復:
見這個問題上,你可以如何使用Fn:GetAtt里子。您需要使用簡短的語法:
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
sed -i 's/WORDPRESS_DB_HOST.*/WORDPRESS_DB_HOST: ${MasterDB.Endpoint.Address}:3306 /' /home/ubuntu/lampconfig/docker-compose.yml
docker-compose up -d
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350244.html
