MacのVagrantでCentOS7をインストールしDocker環境を構築しPackageにするまでの手順

CentOSVagrantDockerVirtualBox
MacのVagrantでCentOS7をインストールしDocker環境を構築しPackageにするまでの手順
Article

Docker環境でのテストを行うことが多かったため
CentOS7上にDocker環境を構築しVagrantのPackageにするまでの手順をまとめました。

環境

  • Mac OSX 10.13.4
  • Vagrant 2.0.3
  • VirtualBox 5.2.12

VagrantとVirtualBoxをインストール

VagrantとVirtualBoxはHomebrewでインストールしました。
Homebrewのインストールについては下記を参照ください。

Homebrewのインストール手順とよく使用するコマンドのまとめ

vagrant

Homebrew Caskからインストールします。

terminal
$ brew cask install vagrant

完了したらバージョンを確認します。

terminal
$ vagrant --version Vagrant 2.0.3

VirtualBox

Homebrew Caskからインストールします。

terminal
$ brew cask install virtualbox

途中パスワードを求められるのでパスワードを入力します。

terminal
==> Running uninstall script VirtualBox_Uninstall.tool Password:

完了したらバージョンを確認します。

terminal
$ VirtualBox --version

VirtualBoxが立ち上がり確認できます。

VirtualBox

Vagrant Boxの追加

Vagrant Boxをダウンロードして追加します。
ここではcentos7というBox名で追加しています。

terminal
$ vagrant box add centos7 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.0_chef-provisionerless.box

追加したBoxを確認します。

terminal
$ vagrant box list ==> vagrant: A new version of Vagrant is available: 2.1.1! ==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html centos7 (virtualbox, 0)

centos7が追加されたのがわかりました。

Vagrantの初期化

追加したBoxをもとに初期化します。

ディレクトリの準備

適当にディレクトリを作成します。

terminal
$ mkdir ~/vagrant

作成したディレクトリに移動します。

terminal
$ cd ~/vagrant

初期化

初期化します。

terminal
$ vagrant init centos7

初期化がうまくいくとVagrantfileが作成されます。
必要がある場合は適宜変更してください。
試しに行う場合は変更しなくても問題はありません。

Vagrantの起動

Vagrantを起動します。
起動はVagrantfileがあるディレクトリで行います。

terminal
$ vagrant up

ログインする

立ち上げたゲストOS(CentOS)へログインします。
ログインはVagrantfileがあるディレクトリで行います。

terminal
$ vagrant ssh

ゲストOS内での作業

yum アップデート

パッケージを最新にします。

terminal
$ sudo yum update -y

バージョン確認

アップデータされたOSのバージョンを確認してみます。

terminal
$ cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)

ユーザー作成

作業用のユーザを作成します。
<ユーザー名>は作成するユーザー名に置き換えてください。

terminal
$ useradd <ユーザー名>

パスワード追加

パスワードを付与します。
<ユーザー名>は作成したユーザー名に置き換えてください。

terminal
$ passed <ユーザー名>

wheelグループに追加

wheelグループに追加します。 <ユーザー名>は作成したユーザー名に置き換えてください。

terminal
$ user mod -ag wheel <ユーザー名>

groupを確認

<ユーザー名>は作成したユーザー名に置き換えてください。

terminal
$ su <ユーザー名> $ groups

dockerのインストール

CentOSのDocker CEをインストールします。

yum-utils

必要なパッケージをインストールします。

terminal
$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2

yum-config-manager

必要なパッケージをインストールします。

terminal
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

docker-ce-edge

リポジトリを有効にします。

terminal
$ sudo yum-config-manager --enable docker-ce-edge

docker-ce-test

リポジトリを有効にします。

terminal
$ sudo yum-config-manager --enable docker-ce-test

docker-ce

Docker CEをインストールします。

terminal
$ sudo yum -y install docker-ce

docker起動

自動起動を有効にしDockerを起動します。

terminal
$ sudo systemctl enable docker $ sudo systemctl start docker

Docker Composeをインストール

Docker Composeをインストールします。

terminal
$ sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

実行権限を追加します。

$ sudo chmod +x /usr/local/bin/docker-compose

dockerをパスワードなしで実行

dockerをパスワードなしで実行できるようにします。

terminal
$ sudo groupadd docker

dockerを再起動

dockerを再起動します。

terminal
$ sudo systemctl restart docker

自身をdockerグループへ追加

自身をdockerグループへ追加します。

terminal
$ sudo gpasswd -a $USER docker

ログアウトします。

terminal
$ exit

次回ログイン時からパスワードなしで実行可能になります。

vagrantのPackage化

最後に今の状態をPackageにします。

terminal
$ vagrant package --output centos7-docker.box