はじめに
初投稿です。よろしくお願いします。
忘備録として投稿します。
内容
docker-compose.ymlにvimを入れてインストールしたはずなのにcredential.ymlを編集しようとしても暗号化されたまま編集できませんでした。
他にも方法があるかもしれませんが、全くの初心者レベルの人が解決できると仮定してその道筋を投稿します。
開発環境
docker 19.03.5
docker-compose 1.25.4
rails 5.2.4.1
ruby 2.5.1
nginx 1.15.8
Mysql 5.7
docker-compose.yml
version: '3'
services:
app: &app_base
build:
context: .
env_file:
- ./environments/db.env
command: bundle exec puma -C config/puma.rb
volumes:
- .:/webapp
- public-data:/webapp/public
- tmp-data:/webapp/tmp
- log-data:/webapp/log
depends_on:
- db
tty: true
stdin_open: true
db:
image: mysql:5.7
env_file:
- ./environments/db.env
volumes:
- db-data:/var/lib/mysql
ports:
- "4306:3306"
web:
build:
context: containers/nginx
volumes:
- public-data:/webapp/public
- tmp-data:/webapp/tmp
ports:
- 80:80
depends_on:
- app
volumes:
public-data:
tmp-data:
log-data:
db-data:
#Dockerfile
FROM ruby:2.5.1
# リポジトリを更新し依存モジュールをインストール
RUN apt-get update -qq && \
apt-get install -y build-essential \
nodejs \
vim
# ルート直下にwebappという名前で作業ディレクトリを作成(コンテナ内のアプリケーションディレクトリ)
RUN mkdir /webapp
WORKDIR /webapp
# ホストのGemfileとGemfile.lockをコンテナにコピー
ADD Gemfile /webapp/Gemfile
ADD Gemfile.lock /webapp/Gemfile.lock
# bundle installの実行
RUN bundle install
# ホストのアプリケーションディレクトリ内をすべてコンテナにコピー
ADD . /webapp
# puma.sockを配置するディレクトリを作成
RUN mkdir -p tmp/sockets
#docker-compose build→up -d
コンテナをbuildしてvimインストールして起動したが、あれ? credential.yml編集できない...
#なぜだ....
vimインストール出来ているか見てみよう!
作業ディレクトリでwhich vimコマンド
which vim
/usr/bin/vim
インストールはされているな.....どうやって起動すれば良いんだ
#コンテナの中に入ってみよう
コンテナの中に入ればできるかも....
docker-compose exec app bash
⬆️docker-composeのrails名
そうするとroot@というところに入るので以下のコマンドを打ちましょう
EDITOR=vim bin/rails credentials:edit
credentialに入れた!
# aws:
# access_key_id: 123
# secret_access_key: 345
# Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
secret_key_base: 8be8e637d755f79c799048bed8be0c...
#最後に
手順を書いてある記事が少なかったので少しでも参考になればと思います。
何かあればご意見ください!