2
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 3 years have passed since last update.

もう逃げない。基礎から学ぶDocker入門 / Dockerfileを使用したサーバー構築(座学編)(4/9)

Last updated at Posted at 2021-09-24

はじめに

今まで、全然理解できていなくて逃げてたDockerに関して、しっかり理解していこうと思います。

コレまで、便利なんだろうなと思いながらも、逃げてました。

なので、開発環境では使いこなせるスキルにまでは理解したいと思います。

あと、暗記してたDockerコマンドを1つ1つ理解していきます。

以下のような順番で勉強していきます。

学ぼう「Dockerfileを使用したサーバー構築」

Dockerでは、インフラの構成を記述したファイルのことをDockerfileと呼びます。

本記事では、Dockerfileの詳細について説明していきます。

Dockerfileとは

これまでは、主にコマンドを使ってDockerイメージの操作とコンテナを作成してきました(一応、簡単にDockerファイルも作りましたけどね)。

コマンド操作以外にも、Dockerfileを使うことで、ダウンロードしたベースのイメージに加えて、OSの設定やミドルウェアのインストールなどもできます。

IMG_9E9800844768-1.jpeg

Dockerfileには主に、以下のような内容を記述します。

- ベースになるDockerイメージ
- Dockerコンテナ内で行う操作(コマンド)
- 環境変数
- インストールするライブラリ
- Dockerコンテナ内で動作させておくデーモン

Dockerfileの基本構文

Dockerfileはテキスト形式のファイルになります。

なので、VScodeなどのテキストエディタで作成・編集が可能です。

拡張子は必要なく、「Dockerfile」という名前のファイルに、インフラの構成情報を書いていきます。

「Dockerfile」という名前じゃなくてもいいそうです(ややこしいので、Dockerfileにした方がいいと思います)。

Dockerfileの基本構文は以下のようになっています。

命令 引数

Dockerfileでの主な命令文は以下の表の通りです。

命令 説明
FROM ベースイメージの設定
WORKDIR 作業ディレクトリ
COPY ファイルのコピー
RUN コマンド実行
CMD コンテナの実行コマンド
LABEL ラベルを設定
EXPOSE ポートのエクスポート
ENV 環境変数
ADD ファイル/ディレクトリの追加
ENTRYPOINT コンテナの実行コマンド
VOLUME ボリュームのマウント
USER ユーザーの指定
ARG Dockerfile内の変数
ONBUILD ビルド完了後に実行される命令
STOPSIGNAL システムコールシグナルの設定
HEALTHCHECK コンテナのヘルスチェック
SHELL デフォルトシェルの設定

Dockerfileの作成

Dockerfileでは、「どんなDockerイメージからDockerコンテナを生成するか」の情報を、必ず記述する必要があります。

このイメージをベースイメージと呼びます。

ベースイメージの書き方は以下のような感じです。

FROM [イメージ名]
FROM [イメージ名]:[タグ名]

FROMは必須項目になります。

例えば、

CentOSのバージョン7をベースイメージにしたい場合

以下のような書き方になります。

FROM centos:centos7

タグ名を省略した場合は、ベースイメージの最新バージョン(latest)が適用されます。

これで、サーバー構築(座学編)はおしまいです。

次回は、Rubyをベースイメージにして、

それを元にSinatora(Ruby製のWebアプリケーションフレームワーク)を導入して、

webサーバーを動かす環境をDockerfileで作る方法を学んでいきます。

アウトプット100本ノック実施中

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