Slide 1

Slide 1 text

RailsΤϯδχΞ޲͚Dockerೖ໳ Omotesando.rb #68 2021/12/02 1

Slide 2

Slide 2 text

ࣗݾ঺հ • ໊લ: ਖ਼ಙ ޼(aka: ਆ଎) • ձࣾ: ϝυϐΞגࣜձࣾ • ॴଐ: CTOࣨSRE • GitHub: @sinsoku (ը૾ӈ্) • Twitter: @sinsoku_listy (ը૾ӈԼ) 2

Slide 3

Slide 3 text

࠷ߴͷϒϩάΞϓϦΛ࡞Δ (3min) $ rails new omotesando_blog $ cd omotesando_blog $ bin/rails g scaffold blog title body:text $ bin/rails db:prepare $ bin/rails s 3

Slide 4

Slide 4 text

ϒϩά͕౤ߘͰ͖Δʂ͍͢͝ʂ 4

Slide 5

Slide 5 text

ଞPCͰ؆୯ʹಈ͘Α͏ʹ͍ͨ͠ 5

Slide 6

Slide 6 text

Dockerͷ༻్ ͦͷ1 ΞϓϦ ͷίϯςφԽ 6

Slide 7

Slide 7 text

ΞϓϦͷίϯςφԽ omotesando_blog ͱ͍͏όΠφϦΛ࡞Δͷʹ͍ۙɻ $ docker run omotesando_blog bin/rails --version $ docker run omotesando_blog bin/rails stats omotesando_blog ͷDockerΠϝʔδʹ͸ιʔείʔυɺRubyɺ gemɺnpmؚ͕·Ε͍ͯΔͷͰɺར༻ऀ͸Docker͚ͩ༻ҙ͢Ε͹ ྑ͍ɻ 7

Slide 8

Slide 8 text

Dockerfile ͷྫ1 FROM ruby:3.0.3 WORKDIR /workspace # Install Node.js, Yarn RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - RUN apt-get update && apt-get install -y nodejs RUN npm install --global yarn # ιʔείʔυΛ௥Ճ͢Δ COPY . /workspace # gem΍npmΛ௥Ճ͢Δ RUN bin/setup 8

Slide 9

Slide 9 text

Ϗϧυͯ͠ࢼ͢ $ docker build -t omotesando_blog . $ docker run -p 3000:3000 \ omotesando_blog bin/rails s -b 0.0.0.0 9

Slide 10

Slide 10 text

Dockerศར 10

Slide 11

Slide 11 text

։ൃ؀ڥ΋ ! ʹ͢Ε͹ศར...ʁ 11

Slide 12

Slide 12 text

Dockerfile ͷྫ1ʢ࠶ܝʣ FROM ruby:3.0.3 WORKDIR /workspace # Install Node.js, Yarn RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - RUN apt-get update && apt-get install -y nodejs RUN npm install --global yarn # ιʔείʔυΛ௥Ճ͢Δ COPY . /workspace # gem΍npmΛ௥Ճ͢Δ RUN bin/setup 12

Slide 13

Slide 13 text

ίʔυมߋ͢Δ౓ʹϏϧυ͕ඞཁ 13

Slide 14

Slide 14 text

Dockerͷ༻్ ͦͷ2 ؀ڥ ͷίϯςφԽ 14

Slide 15

Slide 15 text

Dockerfile ͷྫ2 FROM ruby:3.0.3 WORKDIR /workspace # Install Node.js RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - RUN apt-get update && apt-get install -y nodejs # Install Yarn RUN curl -o- -L https://yarnpkg.com/install.sh | bash # Set env to install gems into /workspace/vendor/bundle ENV BUNDLE_PATH vendor/bundle 15

Slide 16

Slide 16 text

Ϗϧυͯ͠ࢼ͢ $ docker build -t omotesando_blog:v2 . $ docker run -v `pwd`:/workspace \ omotesando_blog:v2 bin/setup $ docker run -v `pwd`:/workspace -p 3000:3000 \ omotesando_blog:v2 bin/rails s -b 0.0.0.0 omotesando_blog:v2 ʹ͸RubyɺNode.jsɺYarn͸ؚ·Ε͍ͯΔɻ ։ൃதʹมߋ͢Δ͜ͱͷ͋Δίʔυɺgemɺnpm͸Πϝʔδʹؚ Ίͳ͍ɻ 16

Slide 17

Slide 17 text

·ͱΊ Dockerͷ༻్͸2ͭ͋Δɻ 1. ΞϓϦͷίϯςφԽ 2. ؀ڥͷίϯςφԽ ༻్ʹΑͬͯDockerfileͰؾΛ͚ͭΔ఺͕มΘΔͷͰ஫ҙ͕͍Δɻ 17