前回(その1)からの続きです。
#Docker ホストに必要な CentOS7 の初期設定
前回立ち上げたインスタンスに SSH でログインします。AWS の CentOS7 は「centos」というアカウントが自動的に作られますので、割り当てられたIPアドレス(AWS管理画面から確認できます)を使えばログインできます。もちろん、キーペアが正しく設定されている必要があります。
ssh centos@XXX.XXX.XXX.XXX
ホスト名を設定したりなど色々やりたいことがありますけど、ここではDockerホストに最低限のことだけやっていきます。
システムアップデート
まずはいったん root になってタイムゾーンだけ設定して全部アップデート
[centos@ip-XXX-XXX-XXX-XXX ~]$ sudo su -
[root@ip-XXX-XXX-XXX-XXX ~]# timedatectl set-timezone Asia/Tokyo
[root@ip-XXX-XXX-XXX-XXX ~]# yum -y update
(以降、root になる方法の説明は省きます)
カーネル更新が入っていたら、AWSの管理画面からいったんインスタンスを再起動し、反映させます。
SELinuxの無効化
再度ログインして、次は SELinux を無効にします。無効にしないのが本来は正しいのでしょうが、色々と面倒なのでここでは無効にすることとします。各自、ご自分の責任の下で行ってください。
[root@ip-XXX-XXX-XXX-XXX ~]# setenforce 0
[root@ip-XXX-XXX-XXX-XXX ~]# vi /etc/sysconfig/selinux
SELINUX=enforcing(編集)
↓
SELINUX=disabled
Swapの設定
AWS使っていると意外と忘れがちの Swap の設定。普通のサーバにLinuxインストールするときは途中でSwapの設定が必ずあるので忘れませんが、AWS で CentOS7 を使う場合はいちいち設定しないといけません。これを忘れるとtarでバックアップとるだけで固まったりして泣けてきますので、忘れてはいけません。(私はこれでかなりはまりましたw)
まずはfreeコマンドを叩いてみます。
残念ながらSwapは0です。ということで、以下のようにしてSwapを確保します。確保する Swap の容量はここではセオリー通りで物理メモリ×2にしておきましょう。ここを参考に作りました。
[root@ip-XXX-XXX-XXX-XXX ~]# dd if=/dev/zero of=/swapfile bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 61.6316 s, 69.7 MB/s
[root@ip-XXX-XXX-XXX-XXX ~]# chmod 600 /swapfile
[root@ip-XXX-XXX-XXX-XXX ~]# mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=47829fd7-a3df-4b4b-8406-66ab0b9c636d
[root@ip-XXX-XXX-XXX-XXX ~]# swapon /swapfile
[root@ip-XXX-XXX-XXX-XXX ~]# vi /etc/fstab
/swapfile swap swap defaults 0 0(追記)
インスタンスを再起動して free コマンドを叩き、以下のようになっていればとりあえず成功でしょう。
追加したボリュームのマウント
ここでおもむろに dfコマンドを叩いてみます。
ああ、追加した100GBのボリュームがマウントされてませんねぇ。これも自分でやらないといけないみたいです。(Amazon Linuxとかだと自動的にマウントしてくれるのかな?)
[root@ip-XXX-XXX-XXX-XXX ~]# ll /dev/xvd*
brw-rw----. 1 root disk 202, 0 Dec 9 02:38 /dev/xvda
brw-rw----. 1 root disk 202, 1 Dec 9 02:38 /dev/xvda1
brw-rw----. 1 root disk 202, 16 Dec 9 02:38 /dev/xvdb
[root@ip-XXX-XXX-XXX-XXX ~]# mkfs -t xfs -f /dev/xvdb
[root@ip-XXX-XXX-XXX-XXX ~]# mkdir /mnt/ebs
[root@ip-XXX-XXX-XXX-XXX ~]# mount /dev/xvdb /mnt/ebs
[root@ip-XXX-XXX-XXX-XXX ~]# vi /etc/fstab
/dev/xvdb /mnt/ebs xfs nofail 0 0(追記)
xfsでフォーマットして、マウントポジションディレクトリ(/mnt/ebs)を作成してマウントし、このままだと起動したときにいちいちマウントするのも面倒ですので、/etc/fstabに追加してます。インスタンスを再起動して dfコマンド叩いて以下のようになれば大丈夫でしょう。
ようやく次に Docker のインストールです。
AWS/EC2にCentOS7を入れてDockerホストを作成 その3