なんだかGoodVibes

日々の勉強メモです。

【Docker】Makefileを使ってコンテナを作成・操作する

あけましておめでとうございます。
今年ものんびりの更新ではありますが、よろしくお願いします。

2022年、最初の記事はDockerの記事です。
本日は、Makefileをつかってコンテナ操作をするメモです。

概要

コマンドで操作するのがめんどくさい。。。
長くなってくると毎回忘れてしまったりする。。。
Makefileに書いてしまうという方法があるらしいので試してみる。


Makefileを使ってコンテナの作成・操作

Makefileを作成し、以下の内容で保存してください。

start:
  docker container run \
      --interactive \
      --detach \
      --tty \
      --publish 5432:5432 \
      --env-file .env \
      --mount type=bind,src=${PWD}/db-data,dst=/var/lib/postgresql/data \
      --name db01 \
      postgres:14

Makefileの内容は、コマンドの内容を記載しているだけです。
コマンドでコンテナを作成する方法については以下の記事に記載しています。

nandakagoodvibes.hatenablog.com


今回、環境変数の指定は、--env-file .env \として外部ファイルを読み込むようにしています。
サンプルでは、.envというファイルに記載するようにしました。

.envの内容は以下です。

POSTGRES_DATABASE=mydb
POSTGRES_USER=mydb
POSTGRES_PASSWORD=postgres


startを実行してみます。

$ make start

docker container listで確認するとコンテナができているのが確認できます。

同じように、よく使うコマンドをMakefileに記載しておくと便利です。

stop:
  docker container stop db01

exec:
  docker container exec -it db01 bash



以上です。