T-CREATOR

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

MacのVagrantでCentOS7をインストールしDocker環境を構築しPackageにするまでの手順
この記事は公開されてから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

実行権限を追加します。

shell$ 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

記事Article

もっと見る