Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

ruby製静的サイトジェネレータjekyllをdocker-composeで起動する

More than 1 year has passed since last update.

会社を立ち上げたので会社サイトを作成するために静的サイトジェネレータを使用することにしました!
ruby案件お待ちしております!
使い慣れているrubyとdockerで立ち上げた記録です。

事前準備

Dockerfile
FROM ruby:2.5
RUN apt-get update -qq
RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp

EXPOSE 4000
docker-compose.yml
version: '3'
services:
  web:
    build: .
    command: bundle exec jekyll serve --host=0.0.0.0
    volumes:
      - .:/myapp
      - bundle:/usr/local/bundle
    ports:
      - 4000:4000

volumes:
  bundle:

--host=0.0.0.0がないと、localhostでアクセスできないので要注意です。
jekyllはデフォルトで4000ポートです。

Gemfile
source "https://rubygems.org"

gem "jekyll"

空のGemfile.lockの作成

touch Gemfile.lock

セットアップ

docker-compose build

generateコマンドでjekyllファイルを生成
.--forceでDockerfileなどと同じ階層に作成します。
jekyll new mysiteのようにするとmysiteディレクトリに作成されます。

docker-compose run --rm web jekyll new . --force
$ pwd
corporate_site

$ ls
404.html  Dockerfile  Gemfile  Gemfile.lock  _config.yml  _posts  _site  about.markdown  docker-compose.yml  index.markdown

ファイルが作成されました!

起動

docker-composeを使用しているので、下記コマンドで起動可能です。

docker-compose up

http://localhost:4000
にアクセスします

Screenshot from 2019-11-01 15-59-30.png

🎉🎉🎉

ihatov08
今では倍率12倍超えの超人気プログラミングキャンプであるスパルタキャンプ一期生。 airbnbみたいなサービスを作れるようになるテックサプリ運営しています。 https://www.tech-sapuri.net/
http://www.tom08.net/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away