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

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
【早見表】よく使うVagrantコマンドとオプションの一覧まとめ
- article
vagrantで起動したVM内で立ち上げているDockerのVolume(MySQLデータ永続化)で書き込みエラーになる件の対処
- article
【解決方法】Vagrantで構築したUbuntu20.04へsynced_folder を設定した際に発生するマウントエラーの対処
- article
【設定方法】VagrantとVirtualBoxでUbuntu20.04の仮想環境をサクッと構築する手順
- article
【設定方法】VagrantとVirtualBoxでCentOS8の仮想環境をサクッと構築する手順
- article
【解決方法】Vagrantを起動した際に発生するumount: /mnt: not mounted.の対処について
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来
- review
人類はなぜ地球を支配できた?『サピエンス全史 上巻』ユヴァル・ノア・ハラリが解き明かす驚愕の真実