概要
Oracle Linux 7 update 2 (以降OL 7u2) をインストールし終わったところから、ローカルで docker を動かすところまでを紹介します。 また、会社等では HTTP のプロキシが使用されていると思いますので、docker が HTTP プロキシを使えるようにするところも紹介します。
Oracle Linux では Linux カーネルとしてOracle社によって独自にチューニングや機能強化を行った Unbreakable Enterprise Kernel (UEK) を使用しています。OL 7u2 は標準で UEK 3.8 を使用しますが、dockerを使うためには UEK 4.1.12 以降のバージョンでないと docker が動きません。そのため、UEK のバージョンアップをしてから docker をインストール、起動、動作確認をしていき、最後に HTTP プロキシの設定方法を紹介します。
※Oracle Linux 7 update 3 では、カーネルは UEK 4 が標準でインストールされるため、UEK 4 を手動でインストールする作業は不要です。
UEK 4をインストールする
OL 7u2 では、UEK 3.8 がインストールされているので、UEK を 4.1.12 へアップデートします。最新の yum リポジトリのファイルをダウンロードした後に UEK 4.x を有効化します。次に、UEK を更新してから OS を再起動します。
作業についてはこちらをご確認下さい。
chiroito.hatenablog.jp
docker のインストールと起動の設定
yum を使用してdocker をインストールできるように設定をし、docker をインストールします。docker を起動し、OS の再起動時に立ち上がるように設定します。
yum を使用してdocker をインストールできるように docker 用のリポジトリファイルを作成します。
$ vim /etc/yum.repos.d/docker.repo
[dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/oraclelinux/7 enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg
dockerをインストールします。
$ yum install docker-engine
インストールされたことを確認します。
$ docker --version
Docker version 1.12.3, build 6b644ec
$ dockerd --version
Docker version 1.12.3, build 6b644ec
docker を起動します。
$ systemctl start docker.service
OSの再起動時に立ち上がるように設定します。
$ systemctl enable docker.service
参考:
https://docs.docker.com/engine/installation/linux/oracle/
動くか確認しましょう。
最初は root ユーザで動くか確認します。次に、user1 へ権限を付与して、動かせるかどうか確認しましょう。
root ユーザで動かせるかどうか確認します
$ docker run hello-world
Hello from Docker! (略)
user1に権限の付与します。
$ usermod -aG docker user1
user1で動かせるかどうか確認します。
$ su - user1
$ docker run hello-world
Hello from Docker! (略)
ここまでの作業で Oracle Linux 7 update 2 上で docker が使えるようになりました。
プロキシの設定
会社等では HTTP のプロキシが使用されていると思いますので、docker が HTTP プロキシを使えるようにするところも紹介します。 docker 用の設定ファイル置き場を作成して、そこにプロキシ設定用のファイルを作成します。 その後、設定を反映させてから docker を再起動します。
プロキシ設定用の設定ファイルを作成し、設定を書きます。
$ mkdir /etc/systemd/system/docker.service.d
$ vim /etc/systemd/system/docker.service.d/http-proxy.conf
Environment="HTTP_PROXY=http://<任意のプロキシのIPやホスト名>:<任意のプロキシのポート>/" "NO_PROXY=localhost,127.0.0.1"
設定を反映しましょう。
$ sudo systemctl daemon-reload
きちんと反映されたかを確認します。
$ systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://<任意のプロキシのIPやホスト名>:<任意のプロキシのポート> / NO_PROXY=localhost,127.0.0.1
docker を再起動します。
$ sudo systemctl restart docker
$ docker run hello-world
Hello from Docker! (略)