CentOS7へのdocker導入

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に興味のあるなら、こちらの書籍も参考になるかもしれません

同じタグの記事: CentOS7
同じタグの記事: Docker
同じカテゴリの記事: Linux