Docker for Macでなく、Mac内にVM(Vagrant使用)を作成して、その中にdocker環境を作成します。
環境
MacOS 10.12.6 (Sierra)
下準備
homebrewインストール
https://brew.sh/index_ja.html
ここに書いてあるワンライナーでインストール
(たまに変わるらしいので本家サイトで確認する)
caskインストール
brew tap caskroom/cask
# インストールアプリのバージョンを指定できるようにversionもインストール
brew tap caskroom/versions
# 例えばJavaインストールするときに
$ brew cask search java
==> Exact Match
java ✔
==> Partial Matches
charles-applejava java-beta java6 netbeans-java-ee yourkit-java-profiler
eclipse-java java-jdk-javadoc java9-beta netbeans-java-se
# こんな感じにバージョン違いを探してインストールできる
caskでVirtualBox、Vagrantのインストール
# VirtualBoxのインストール
brew cask install virtualbox
# Vagrantインストール
brew cask install vagrant
VagrantにCentOSをセットアップ
# Vagrant用ディレクトリを作成
mkdir [任意のPATH]/vagrant
cd [任意のPATH]/vagrant
# CentOS用ディレクトリを作成
mkdir CentOS73
cd CentOS73
# イメージを取得しカレントディレクトリにセットアップ
vagrant init bento/centos-7.3
# Vagrantfileが作成される
# Vagrant起動
vagrant up
# 初回はインストールがはしるので時間がかかる
# Vagrantに入る
vagrant ssh
# OS,バージョンを確認
cat /etc/redhat-release
UP時に"Vagrant was unable to mount VirtualBox shared folders."が表示される場合
参照:
Vagrantで共有フォルダのマウントに失敗するときの対処方法
vagrant plugin install vagrant-vbguest
CentOSにDockerをインストール
注)下記の手順は手動でのインストールで一度破棄されると再度実行する必要があります。
毎回自動でインストールするにはこちら[Vagrant up時に自動でDockerをインストールする]
を参照して下さい。
# まずはyum自体をアップデート
sudo yum update
# yumでdockerインストール
sudo yum install docker
# docker起動
sudo systemctl start docker
# dockerの起動確認
systemctl status docker
# OS起動時に自動的にスタートするようにしておく
sudo systemctl enable docker
dockerコマンドをroot以外でも実行できるようにする
参照:
CentOS7でsudoなしでdockerを利用するちょっとした工夫
sudo gpasswd -a $USER dockerroot
sudo chown root:dockerroot /var/run/docker.sock
dockerが動いていることを確認
# バージョンを確認
docker version
dockerをvagrant up時に自動的にインストールして実行されるようにする
上記手順でも作業ができますが、VMの破棄などをした場合は再度実行する必要があります。
自動的にインストールする設定は下記参照
VagrantでVM起動に自動でDockerをインストールする