【AmazonLinux2】Docker-ComposeでZabbix-Serverを作成

こちらの記事に沿ってdocker-composeを使用すると、次のエラーが出ました。

ERROR: Version in “./docker-compose_v3_alpine_mysql_latest.yaml” is unsupported. You might be seeing this error because you’re using the wrong Compose file version. Either specify a supported version (“2.0”, “2.1”, “3.0”, “3.1”, “3.2”) and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.

どうやらDocker-Composeのバージョンと、yamlファイルの中身のバージョンとの整合性がとれていないようです。

結論として、Docker-Composeのバージョンを上げることで解決したので、その点を修正した手順をまとめたいと思います。

Docker, Git, Docker-Composeインストール

まずはDockerとGitをインストールします。

# パッケージを最新化する
$ sudo yum update -y

# Docker, Gitインストール
$ sudo yum install -y docker git

次に、以下にアクセスしてDocker-Composeの最新バージョンを確認し、コマンドを修正してから実行してください。

# 最新バージョンを記入し、実行
$ curl -L https://github.com/docker/compose/releases/download/最新バージョンを記入/docker-compose-`uname -s`-`uname -m` > /tmp/docker-compose

# 実行権付与
$ chmod 755 /tmp/docker-compose

# コマンドが使えるように配置
$ sudo mv /tmp/docker-compose /usr/local/bin/

これで最新のDocker-Composeが使えるようになりました。

Zabbixのyamlファイルを取得

次に、Zabbixが公式に用意しているDockerファイルなどを引っ張ってきて、その情報を元にコンテナを起動させます。

# 任意の場所に移動
cd ~

# Zabbixの公式Dockerファイル群を取得
git clone --depth=1 https://github.com/zabbix/zabbix-docker.git

# 取得先に移動
cd zabbix-docker

# yamlファイルからZabbixのコンテナを起動
sudo /usr/local/bin/docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d

これによりブラウザからZabbixにログインできる状態となります。

「docker ps」コマンドで確認してみると、NginxやMySqlサーバなどのコンテナが起動していることが分かります。

WebサーバやDBサーバなどを意識しなくても、Zabbixのcomposeファイルに自動的に組み込まれているみたいですね。

いつでも簡単に同じ環境が再現できるというDockerの利点を実感しました。