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
もっと見る- article
Dockerの利用していないゴミを掃除しディスクスペースを解放するいくつかのやり方を紹介
- article
Next.js のバンドルサイズを可視化する@next/bundle-analyzer の紹介
- article
VSCodeでTypescriptファイルのimport補完で相対パスではなくエイリアスするための設定
- article
UUIDより短いユニークなIDを生成できるnpmライブラリnanoidの使い方
- article
【解決方法】TypeScript発生したTS2564 エラーの対処
- article
express で IP を取得する際などに利用する req.connection 非推奨(deprecated)の対処