CentOS7へのdocker導入について調べました。「Docker Docs」にあるドキュメントから調べていくのが良さそうです。プロダクトが複数になってきていて、わかりにくいのですが、従来のdockerコマンドはDocker Engineに含まれているようなので、これをインストールすることにしました。ちなみに、OS XやWindowsユーザーなら、Docker Toolboxを導入するのが一番手っ取り早いようです。Linuxの場合は、Docker Toolboxに含まれるKitematicのLinux版がないようなので、必要な物を個別に導入するということになります。
- Docker Machine
- Docker Engine
- Docker Compose
- Kitematic
- Oracle VirtualBox
さて、Docker Engine for Linuxのドキュメントは「Get Started with Docker Engine」にあります。シェルでインストールする方法も紹介されていますが、CentOSを使う場合はyumリポジトリが用意されているということなので、そちらを使うことにしました。CentOS向けの導入についての文書は「Installation on CentOS」に説明があります。
スクリプトが用意されているそうなので、下記手順で簡単に導入ができます。ただ、curlコマンドが必要ですね。
$ sudo yum update $ curl -fsSL https://get.docker.com/ | sh
curlコマンドはCentOS7のものがあるかもしれませんが、手元では下記のような感じで用意してあります。
$ wget http://curl.haxx.se/download/curl-7.39.0.tar.bz2 $ tar xf curl-7.39.0.tar.bz2 $ cd curl-7.39.0 $ ./configure --enable-libcurl-option --prefix=$HOME/applications/curl-7.39.0 $ make $ make install $ export PATH=$HOME/applications/curl-7.39.0/bin:$PATH
curlコマンドを用意するのが面倒なら、下記手順でリポジトリを登録してインストールできます。
$ sudo yum update $ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF $ sudo yum install docker-engine
dockerの起動をして、hello-worldイメージを作って動作確認をしてみましょう。
$ sudo service docker start $ sudo docker run hello-world
確認ができたら、OS起動時にdockerデーモンが自動起動するように設定します。
$ sudo chkconfig docker on
sudoコマンドを使わなくてもdockerコマンドを使えるようにするには、dockerグループを作って、アカウントを登録します。一度ログアウトしてからログインしなおすと、dockerコマンドを使えるようになります。
$ sudo usermod -aG docker your_username
おまけ
手元の環境では、他のリポジトリにあったdockerコマンドをインストールしてあったので、下記のように削除しました。
$ sudo yum remove docker docker-selinux docker-forward-journald
試しに作ったhello-worldイメージを削除するには下記のようにします。 4f036cf2c8a5は、docker ps -aで表示されるhello-worldイメージから生成されたコンテナのコンテナIDです。690ed74de00fは、sudo docker imagesで表示されるhello-worldイメージのイメージIDです。
$ sudo docker ps -a $ sudo docker rm 4f036cf2c8a5 $ sudo docker images $ sudo docker rmi 690ed74de00f
docker, CentOS7に興味のあるなら、こちらの書籍も参考になるかもしれません