Linux PC関係 Ruby/RubyOnRails

DockerでRails6を使う

投稿日:

このイメージを使い回せば次回からの環境構築が楽になると思っていろいろやってみたけど、ちょこちょこハマってしまいました。

ひとまず、Dockerfileとかいろいろ
APPNAMEは自分のアプリ名に打ち替え

FROM ruby:2.7.1

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

RUN apt-get update -qq && apt-get install -y nodejs postgresql-client yarn
RUN mkdir /APPNAME
WORKDIR /APPNAME
COPY Gemfile /APPNAME/Gemfile
COPY Gemfile.lock /APPNAME/Gemfile.lock
RUN bundle install
COPY . /APPNAME

COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000

# Start the main process.
CMD ["rails", "server", "-b", "0.0.0.0"]
version: '3'
services:
  db:
    image: postgres
    volumes:
      - ./tmp/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=hogehoge
  web:
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    volumes:
      - .:/APPNAME
    ports:
      - "3000:3000"
    depends_on:
      - db
#!/bin/bash
set -e

# Remove a potentially pre-existing server.pid for Rails.
rm -f /uchinoko/tmp/pids/server.pid

# Then exec the container's main process (what's set as CMD in the Dockerfile).
exec "$@"
source 'https://rubygems.org'
gem 'rails', '6.0.3.3'

Gemfile.lockはファイルだけ作成して中身は空っぽで。

そんで、

docker-compose build
docker-compose run web rails new . --force --no-deps --database=postgresql

rails newでできるファイルやディレクトリがすべてrootで出来上がってしまう。 ここがハマってしまった。
ちゃんとエラー文見てればすぐ分かったのに。

なので、

sudo chown  -R hoge:hoge /APPNAME

これでOK


教訓教訓。

-Linux, PC関係, Ruby/RubyOnRails
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

ubuntu(xubuntu)で音が出ない メモ

Let’sNote(CF-S10)にxubuntuを入れて開発してるんですけど、たまたま音楽を流そうかと思ったら、音が出ない! 内蔵スピーカーは認識してるし、ミュートにもなってない。 su …

no image

RubyのSSLエラー解決

Railsでkaminariというページングライブラリを使用して、bootstrap4を使いたかったので $ bin/rails g kaminari:views bootstrap4 /home/H …

no image

RailsでPostgresを使うとき

毎回環境構築するときに、どうやってやんだっけ。って忘れちゃうのでメモ sudo apt install -y libpq-dev いつも、pgエラーって出るからああああああ って言ってる

LAN線工事、やってみました。

こんばんわ。 台風来たけど、大した被害なくてよかったです。 今日は反動?でいい天気だったなー。   先日、自分の家の中にLANを配線したときのメモ書きを残しておきます。   TEL …

close up code coding computer

Railsデプロイ時のUglifierError

開発環境では問題が発生しなかったのに、本番環境でデプロイ時にassets precompileしたときにエラーが出ました。 Assets precompile Uglifier::Error: Une …