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
もう朝起きるのが辛くない!『スタンフォード式 最高の睡眠』西野精治著で学んだ、たった 90 分で人生が変わる睡眠革命
- review
もう「なんとなく」で決めない!『解像度を上げる』馬田隆明著で身につけた、曖昧思考を一瞬で明晰にする技術
- review
もう疲れ知らず!『最高の体調』鈴木祐著で手に入れた、一生モノの健康習慣術
- review
人生が激変!『苦しかったときの話をしようか』森岡毅著で発見した、本当に幸せなキャリアの築き方
- review
もう「何言ってるの?」とは言わせない!『バナナの魅力を 100 文字で伝えてください』柿内尚文著 で今日からあなたも伝え方の達人!
- review
もう時間に追われない!『エッセンシャル思考』グレッグ・マキューンで本当に重要なことを見抜く!