1、目的
valkeyコンテナをrunで立ち上げる際、毎回portなどを指定するのが大変だったため、docker-compose.ymlを作成した。
2、事前知識
1、docker-compose.ymlとは
から調べました。。。笑
dockerはコンテナを立ち上げてその中でアプリケーションやDBを取り扱えるようにするのですが、docker-composeを使うと、なんと、複数のコンテナ(image)を立ち上げられるのです。すご。
で、今回はvalkeyのみなので、runでもいいのですが、毎回portを指定するのも大変で、dockerfileよりもdocker-compose.ymlのほうがやりやすそうだったので、こちらにしました。
2、docker-compose.ymlを記載する場所
初心者すぎて、ここに手間取りました。
結論をいうと、
docker compose up
を行いたいディレクトリ(正確にはプロジェクトのディレクトリというらしい)に記載しましょう。
3、作業
1、docker-composeをインストール
公式から取ってきたのですが、バージョンが古い。。。新しいものを入れたかったのですが、わからなかったので、諦めました。。。
curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
インストールできているか確認
docker-compose --version
1、docker-compose.ymlを書く
先程のdocker-composeを起動させたいディレクトリでvi を起動します。
sudo vi docker-compose.yml
立ち上がったら下記を記載( (Ctrl) + (Shift) + (V) で貼り付け可能)
※タブはスペース4つ。:の後ろにはスペース
version: '1.6.2'
services:
valkey:
image: valkey/valkey:7.2.6
container_name: valkey
ports:
- "6379:6379"
volumes:
- /data:/data
補足:
version: '1.6.2'
Docker Compose ファイルのバージョンを指定します。このバージョンによって利用できる機能が異なります。
services:
サービスを定義するセクションです。ここでは、valkey という名前のサービスを1つ定義しています。
valkey:
サービス名です。この名前でコンテナを識別します。
image: valkey/valkey:7.2.6
使用するDockerイメージを指定します。ここでは、valkey/valkey というリポジトリの 7.2.6 タグのイメージを使用します。
container_name: valkey
コンテナの名前を指定します。この名前でコンテナを直接参照できます。
ports:
コンテナ内のポートとホストのポートのマッピングを指定します。
6379:6379: コンテナ内の6379番ポートを、ホストの6379番ポートにマッピングします。
volumes:
ホストのディレクトリとコンテナ内のディレクトリをマウントします。
/data:/data: ホストの/dataディレクトリを、コンテナ内の/dataディレクトリにマウントします。これにより、コンテナ内のデータはホストの/dataディレクトリに保存されます。
2、立ち上げる
まず、「valkey]
という名前のコンテナを削除しておきます。
docker rm valkey
docker-composeを立ち上げます
docker compose up
止めるときは
(Ctrl) + (C)
で止まります。
3、まとめ
docker-composeを使うことで、コンテナが統一できなおかつ、省力化できました。