docker-compose をインストールした覚書 (CentOS 7)

基本的に以下に書いてある通りだが..

Install Docker Compose → Install Compose の Linux の所を押す

yum ではインストールできないもよう (yum search docker | egrep compose で出てこなかった)。
pip でインストールする方法もあるらしい。

0. docker-compose の最新バージョン確認

Compose repository release page on GitHub を見て確かめる。

1. docker-compose の取得とインストール

Install Docker Compose では sudo curl 〜 -o /usr/local/bin/docker-compose と危ないことをしているが、 その方が考えることが少ないのか、 自分が知らないメリットがあるのか..

ちなみに `uname -s` は「Linux」、`uname -m` は「x86_64」であった。 (hoge サーバーの場合)

[nsmrtks@hoge ~]$ curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617    0   617    0     0    600      0 --:--:--  0:00:01 --:--:--   601
100 8649k  100 8649k    0     0   754k      0  0:00:11  0:00:11 --:--:--  832k

[nsmrtks@hoge ~]$ ls -ld docker-compose 
-rw-r--r--. 1 nsmrtks group 8856808 Nov 17 16:16 docker-compose

[nsmrtks@hoge ~]$ file docker-compose 
docker-compose: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[s
ha1]=373ec5dee826653796e927ac3d65c9a8ec7db9da, stripped

[nsmrtks@hoge ~]$ sudo install docker-compose /usr/local/bin/

[nsmrtks@hoge ~]$ ls -ld /usr/local/bin/docker-compose 
-rwxr-xr-x. 1 root root 8856808 Nov 17 16:23 /usr/local/bin/docker-compose

[nsmrtks@hoge ~]$ type docker-compose
docker-compose is /usr/local/bin/docker-compose

[nsmrtks@hoge ~]$ ldd /usr/local/bin/docker-compose 
	linux-vdso.so.1 =>  (0x00007ffe56578000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f3256aec000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f32568d6000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f3256514000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3256cf6000)

2. せっかくなので command completion for bash をインストールする

Command-line completion

zsh 用もあるのだが hoge サーバーに zsh は入ってなかった。

bash については、 hoge サーバーには /etc/bash_completion.d ディレクトリが存在しており、 command completion が可能なようだ。

[nsmrtks@hoge ~]$ curl -L https://raw.githubusercontent.com/docker/compose/1.17.1/contrib/completion/bash/docker-compose -o docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12109  100 12109    0     0  31292      0 --:--:-- --:--:-- --:--:-- 31289

[nsmrtks@hoge ~]$ ls -ld docker-compose 
-rw-r--r--. 1 nsmrtks group 12109 Nov 17 16:41 docker-compose

[nsmrtks@hoge ~]$ sudo cp -i docker-compose /etc/bash_completion.d/

[nsmrtks@hoge ~]$ ls -ld /etc/bash_completion.d/docker-compose 
-rw-r--r--. 1 root root 12109 Nov 17 16:43 /etc/bash_completion.d/docker-compose

3. Test the installation.

[nsmrtks@hoge ~]$ type docker-compose
docker-compose is hashed (/usr/local/bin/docker-compose)

[nsmrtks@hoge ~]$ docker-compose --version
docker-compose version 1.17.1, build 6d101fb

以上


index