LoginSignup
3
1

More than 3 years have passed since last update.

dockerで環境構築する際にrails5.2.0環境以降でcredential.ymlを編集する方法

Last updated at Posted at 2020-02-18

はじめに

初投稿です。よろしくお願いします。
忘備録として投稿します。

内容

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

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に入れた!

credentials.yml.enc

#   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...

最後に

手順を書いてある記事が少なかったので少しでも参考になればと思います。
何かあればご意見ください!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1