表題の通り。AmazonLinuxにdocker-composeをインストールしようとしてハマった。
■ 環境
- AmazonLinux
- docker-compose 1.4.0
■ きっかけ
AmazonLinuxにdocker/docker-machine/docker-composeをインストールした。docker-machine/docker-composeに関しては下記のURLの通りの方法でインストールした。
インストール後、いざ使用してみようと思い実行してみたところ、docker-composeの実行結果がおかしい。
$ docker-compose --version
{"error":"Not Found"}$
■ 原因
ファイルを確認していたところ、そもそも`curl`でのダウンロードが正常にできていない。`/usr/local/bin/docker-compose`に前述のJSONのようなものが書かれたテキストファイルになっていた。
再度docker-composeのインストール手順のページを見ていて気がついたのは下記。
curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
”VERSION_NUM”という文字列がそのままになっている。これはドキュメントのバグであろうか。
https://github.com/docker/compose/releases
上記URLを参照し、最新が”1.4.0“であることを確認。前述の`curl`を下記のように書き換えて再度実行。
curl -L https://github.com/docker/compose/releases/download/1.4.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
ファイルサイズ的にも正しいものが取得できた。
$ ls -l /usr/local/bin/docker-compose
-rwxr-xr-x 1 root root 8186606 9月 1 10:17 /usr/local/bin/docker-compose
$
$ file /usr/local/bin/docker-compose
/usr/local/bin/docker-compose: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=13632aadc5bd1335c37d327e788ed08fb0c927bc, not stripped
$
$ docker-compose --version
docker-compose version: 1.4.0
$
まぁすぐに直されるであろう。
以上。