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
articleDockerfile 命令チートシート:FROM/ARG/ENV/COPY/ADD/RUN/ENTRYPOINT の最適書式
articlemacOS(Apple Silicon)で Docker を高速化:qemu/仮想化設定・Rosetta 併用術
articleRedis Docker Compose 構築:永続化・監視・TLS まで 1 ファイルで
articleDocker Compose v2 と k8s(skaffold/tilt)比較検証:ローカル開発どれが最速?
articleDocker イメージ署名と検証:cosign でサプライチェーンを防衛する運用手順
articleDocker で DNS 解決に失敗する時の原因と対処:overlay2・systemd-resolved・WSL2 対応
article【早見表】よく使うVagrantコマンドとオプションの一覧まとめ
articlevagrantで起動した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.の対処について
articleJava の OutOfMemoryError を根治する:ヒープ/メタスペース/スレッドの診断術
articleKubernetes で Pod が CrashLoopBackOff の原因と切り分け手順
article本番計測とトレース:Zustand の更新頻度・差分サイズを可視化して改善サイクル化
articleSvelte 可観測性の実装:Sentry/OpenTelemetry/Web Vitals 連携ガイド
article【緊急警告】React/Next.js の RSC 機能に CVSS 10.0 の RCE 脆弱性「CVE-2025-55182」が発覚
articleWebSocket Close コード早見表:正常終了・プロトコル違反・ポリシー違反の実務対応
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来