Closed naota7118 closed 1 month ago
デスティネーション(行き先)への出力書き込みの失敗
→出力先のファイルに書き込み権限がないのが問題
ダウンロードしてきたDocker Composeファイルに実行権限を付与した。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-darwin-x86_64" -o /usr/bin/docker-compose &&
echo ${SUDO_PASS} | sudo -S chmod +x /usr/bin/docker-compose &&
バイナリーファイルは実行できないと言われた。
Docker Composeファイルが実行できない。
❌ 書き込み権限がないから ⭕️ ダウンロードするバイナリがLinux環境に適合してないから
docker-compose-darwin-x86_64"
はMac OS用だった。Linux用を指定する必要があった。
ダウンロード対象をLinux用バイナリに変更した。
sudo curl -L "/docker/compose/releases/download/v2.29.1/docker-compose-linux-aarch64" -o /usr/bin/docker-compose &&
Docker Composeファイルが実行できない(再び)。
アーキテクチャが実行環境(EC2)と適合していないから。
EC2内でuname -m
を実行するとx86_64
と表示された。
x86_64
aarch64
上記の不一致を解消する必要があった。
ダウンロード対象をアーキテクチャがx86_64のDocker Composeバイナリに変更。
最初隠れて見えなかったが「Show All」押したら表示された。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64" -o /usr/bin/docker-compose &&
Docker Composeがダウンロードできた。
問題
GitHub Actionsの
RAILS_ENV=production echo ${SUDO_PASS} | sudo -S docker compose up --build
でエラーになった。docker compose up
コマンドの-d
オプションや--build
オプションが知らないと言われる。unknown shorthand flag: 'd' in -d
unknown flag: --build
原因
Docker Composeがインストールされていないから。
やったこと
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-darwin-x86_64" -o /usr/bin &&
を追加した。参考記事
https://zenn.dev/rock_penguin/articles/28875c7b0a5e30