Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

Ruby on Railsの環境が整うDockerfile

$
0
0

安易。
MariaDBとかは他コンテナで建てるものとします。

Dockerfile

FROM node:lts-slim AS nodeFROM ruby:3COPY --from=node /opt/ /opt/COPY --from=node /usr/local/lib/ /usr/local/lib/COPY --from=node /usr/local/bin/ /usr/local/bin/RUN apt update && apt upgrade -y&& apt install-y g++

RUN gem install rails

ちょっと説明

マルチステージビルドする

NodeイメージからNodeインタプリタのあるディレクトリをごっそりを持ってくる。
Nodeの特定バージョンを入れようと思うとcurlでインストーラとってきて、スクリプト実行して、必要ならyarnを別で入れるなどちょっとめんどくさい。
でもマルチステージビルドならDocker Official ImageのNodeインタプリタを拾えるし、バージョン指定はイメージのタグを変えればいいだけなのでちょっと楽。

# NodeインタプリタをとってくるイメージFROM node:lts-slim AS node# 最後に書いたFROMがイメージのベースになるFROM ruby:3# インタプリタの含まれるディレクトリをコピーCOPY --from=node /opt/ /opt/COPY --from=node /usr/local/lib/ /usr/local/lib/COPY --from=node /usr/local/bin/ /usr/local/bin/RUN apt update && apt upgrade -y&& apt install-y vim g++ # <- Nodeの駆動にg++が必要

参考: Multi-stage build でNode.jsのインストールをちょっぴり効率化する - アクトインディ開発者ブログ

railsのインストール

グローバルにインストール。
あとはdocker run -it <image name> bashとかしてコンテナ内でrails new appとかすると準備完了。

RUN gem install rails

Viewing all articles
Browse latest Browse all 8691

Trending Articles