Closed13

/

あつしあつし

Dockerコンテナ内で $ bundle exec cap production deploy

結果↓

dockerコンテナ内
SSHKit::Runner::ExecuteError: Exception while executing as fd_tube_app@13.114.99.183: Authentication failed for user fd_tube_app@13.114.99.183
あつしあつし

Docker× Capistranoの環境、下記の記事が参考になりそう。
Dockerコンテナ内の~/.sshを作成していなかったので作る。

記事内↓
・コンテナ内の~/.sshに秘密鍵をコピーし、権限を600で付与(~/.sshに700を付与)
・コンテナにアタッチ後、$ ssh -i ~/.ssh/<秘密鍵> ec2-user@18.178.91.188ではログインできることを確認

https://teratail.com/questions/306889

あつしあつし

dockerコンテナに自分のPC内の.sshと同じディレクトリとファイルを作成
・.sshディレクトリ(権限700を付与)
・.ssh/〇〇.pem(権限400 or 600を付与)
・ssh/config

dockerコンテナ内
root@〇〇〇〇:/my_app# cd
root@〇〇〇〇:~# apt-get install vim
root@〇〇〇〇:~# mkdir .ssh -m 700
root@〇〇〇〇:~# vi .ssh/キーペア名.pem

#vimが開かれる
~ #PC内のキーペア名.pemをコピペ
~
~
~#:wqで保存・終了

root@〇〇〇〇:~# chmod 400 .ssh/fd_tube_app2.pem
root@〇〇〇〇:~# vi .ssh/config

#vimが開かれる
~ #PC内の.ssh内のconfigの中身をコピペ
~
~
~#:wqで保存・終了

root@〇〇〇〇:~# chmod 700 ~/.ssh
あつしあつし

同様のエラー。ビルドし直しによりコンテナ内の.sshディレクトリが削除されたのが原因(と思われる)。

dockerコンテナ内
SSHKit::Runner::ExecuteError: Exception while executing as fd_tube_app@13.114.99.183: Authentication failed for user fd_tube_app@13.114.99.183
あつしあつし

ビルドし直してデプロイ実行!

ターミナル内
docker-compose up -d --build
・・・

# ビルド後コンテナ内へ
docker-compose exec app bash
root@〇〇〇〇:/my_app# bundle exec cap production deploy
あつしあつし

先程の認証エラーは無くなった!! が新たなエラーに遭遇。

dockerコンテナ内
00:00 rbenv:validate
      WARN  rbenv: ruby-2.7.3 is not installed or not found in $HOME/.rbenv/versions/ruby-2.7.3 on 
****(Elastic IP番号)

次のスクラップへ
docker-comopse × Capistrano でEC2への自動デプロイ時のエラー対処(その②)
https://zenn.dev/atushi/scraps/635b5470e0691e

このスクラップは2021/10/12にクローズされました