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

CentOSVagrantDockerVirtualBoxUnixインストール
MacのVagrantでCentOS7をインストールしDocker環境を構築しPackageにするまでの手順
Article
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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

Vagrantのインストール

Vagrant コマンドの使い方

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

終わりに

最後までご覧いただきありがとうございます。
この記事ではMacのVagrantでCentOS7をインストールしDocker環境を構築しPackageにするまでの手順について紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。