LoginSignup
0
0

More than 1 year has passed since last update.

Dockerfileとは(随時更新予定)

Posted at

はじめに

この記事はDockerfileについて学習したこと、気づいたことをまとめていってる記事です。
余裕があれば随時更新していこうと思っています。
※ 課題解決系の記事ではないです。

参考コード  :  Quickstart:Compose and Rails (dockery公式document)

Dockerfileファイルとは

「イメージを構築するためのテキストファイル」です。
必要となるコマンドを全て盛り込んでいます。
dockerファイルからイメージを作成するので以下のようなメリットがある。

  • 環境構築の手順を自動化
  • 開発者が皆、同じ環境下で開発できる
  • 環境をファイルで管理可能

Dockerfileファイルの内容

こちらのコードを参考にしています。
Quickstart:Compose and Rails (dockery公式document)

Dockerfile
# syntax=docker/dockerfile:1
FROM ruby:2.5
# 使用するイメージの定義、ruby:2.5を使用する。

RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
# 実行するコマンドを指定します。
# apt-get update -qq : ライブラリをアップデートします。-qq はquietモードで実行。エラー以外を表示しないオプションです。
# apt-get install -y nodejs postgresql-client ... 全て承諾(-yオプション)で必要なライブラリを入れます

WORKDIR /myapp
# 作業ディレクトリの指定
# RUN,COPYなどのあらゆる起点となります。

COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
# Gemfile、Gemfile.lockをDockerコンテナ内にコピーして、bundle installします。

# Add a script to be executed every time the container starts.
COPY entrypoint.sh /usr/bin/
# entrypoint.shをコンテナ内の/usr/bin/にコピーします。

RUN chmod +x /usr/bin/entrypoint.sh
# entrypoint.shの実行権限を付与します。

ENTRYPOINT ["entrypoint.sh"]
# 最初に実行するコマンドを指定。entrypoint.shを実行する。

EXPOSE 3000
# コンテナがリッスン(待機)するポート番号を指定します。

# Configure the main process to run when running the image
CMD ["rails", "server", "-b", "0.0.0.0"]
# ソフトウェアを実行するコマンドです。
# ["実行ファイル","パラメータ1","パラメータ2", ...]の形式で書かれています。
0
0
0

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
0
0