Dockerfileのメモ走り書き
- Dockerfileを作成するメリットってなにか
- 軽量化
- 生産性・可用性
- 環境を作成することで、複数人がローカルで開発する際の環境差異をなくすことができる.
- しかしDockerfileからの起動手順が複雑であると、環境作成に人的ミスが発生するのではないか。
- docker-composeで解消できる
docker-composeのメモ走り書き
- docker-composeとは
- Docker imageのbuildや、複数コンテナを一括で起動・停止などできるツールのこと。
- Docker起動時のオプションや設定をyml形式のテキストファイルで記述する。
例
####Dockerfileで起動する場合のコマンド
docker run -v <mount元フォルダ>:<mount先フォルダ> -p <host側ポート番号>:<container側ポート番号> -it <image ID> bash
Dockerfileからコンテナを起動する場合は引数が多く、typoなどにより人為的ミスが発生しうる可能性ある。1つのコンテナを立ち上げるだけで上記の程度コマンドを打たなければならないため、複数台コンテナを立てなければならない場合はさらに人的ミスが発生する可能性が高まる。
####docker-composeを使用する場合
事前にymlファイルを作成する必要があるが、環境作成者がたたくコマンドが少なくなるため、Dockerfileからコンテナを起動する場合に比べて人為的ミスが減少する。
#####docker-compose.yml
docker-compose.yml
version: '3'
services:
app:
build: . # Dockerfileがあるディレクトリを記述
#image: nginx:alpine # imageをそのまま記載することも可能
ports:
- '<host側ポート番号>:<container側ポート番号> '
volumes:
- '<mount元フォルダ>:<mount先フォルダ>'
tty: true #-tオプション
stdin_open: true #-iオプション
#####docker-compose.ymlを使用して起動する場合のコマンド
docker-compose.ymlと同じ場所で下記コマンドを実行する
docker-compose up -d