4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Dockerで最低限のrails開発環境をコツコツ構築してみる〜第2章〜

Last updated at Posted at 2019-03-31

はじめに

前回の続きです。

[Dockerで最低限のrails開発環境をコツコツ構築してみる〜第1章〜]
(https://qiita.com/ii_km/items/0c27d590fc333e6b13d5)

ゴール

docker run -d --name minimum -it -v $PWD:/app -p 3000:3000 --expose 3000 minimum
root@41febcaa682c:/app# rails server -d -b 0.0.0.0

前回のこの辺のコマンドは長いし毎回実行するのは面倒なのでdocker-composeで解決する。

準備

前回の続きなので、実際に動かしながら読んでいただく場合は、gitからcloneしていただけると...

$ git clone git@github.com:IkumiIdei/rails_minimum.git

docker-compose.yml作成

docker-compose.ymlをDockerfileと同じ階層に作成します。

$ touch docker-compose.yml
docker-compose.yml
version: '3'
services:
  web:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/app
    command: bash -c "rm -f /app/tmp/pids/server.pid && rails server -b 0.0.0.0"
説明
build: [Dockerfile配置ディレクトリ] ビルド対象のDockerfile指定
ports: [ホスト側ポート]:[コンテナ側ポート] ポート割り当て設定
volumes: [ホスト側相対パス]:[コンテナ側相対パス] ボリュームの指定
command: [実行コマンド] コンテナ起動時の実行コマンド

イメージをビルド

upコマンドでイメージのビルドからコンテナの起動まで一気に行います。

$ docker-compose up -d

コンテナの状況を確認してみます。

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
a3eb28149350        minimum_app2_web    "bash -c 'rm -f /app…"   About a minute ago   Up 59 seconds       0.0.0.0:3000->3000/tcp   minimum_app2_web_1

起動していそうです。

ブラウザからlocalhost:3000にアクセスしてみると...無事動きました!
rails.png

4
2
3

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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?