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をインストールする