本記事では
- VagrantでCoreOSを起動し
- CoreOSのdockerを
- brewでインストールしたMacOS側のdockerコマンドで操作する
までの手順を説明する。
CoreOSをインストール、起動する
CoreOSはVagrantからの起動が可能なのでそれを使う。
Vagrantfileは下記のgitで取得できる。
shell.sh
git clone https://github.com/coreos/coreos-vagrant.git
cd coreos-vagrant
デフォルトだとCoreOS側のIPは172.17.8.100から取られていく。
下記のように自分で変えても構わない。
Vagrantfile
#ip = "172.17.8.#{i+100}"
ip = "172.17.8.123"
vagrant up
でCoreOSのイメージを取得、起動する。
shell
vagrant up
vagrant ssh
CoreOSのdockerの設定
CoreOSは起動するとデフォルトではUnix socketでの接続のみを受け付ける設
定になっている。Customizing docker
を参照してdockerをTCP socketで待ち受けるように修正する。
systemdの為にdocker-tcp.socketを/etc/systemd/systemに作成し、
/etc/systemd/system/docker-tcp.socket
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=2375
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.target
それをsystemctlで有効にする。
shell
sudo systemctl enable docker-tcp.socket
sudo systemctl stop docker
sudo systemctl start docker-tcp.socket
sudo systemctl start docker
CoreOS側で下記のように実行してエラーが出ないことを確認するとよい。
core@core-01 ~ $ docker -H tcp://127.0.0.1:2375 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
MacOS側でのdockerコマンドのインストール
ここではhomebrewを使ってインストールする。
brew install docker
インストールしたら'-H'オプションを使ってCoreOSのdockerに接続できる。
docker -H tcp://172.17.8.123:2375 ps
環境変数DOCKER_HOSTにIPを指定することで'-H'オプションを使わなくても接
続が可能である。
export DOCKER_HOST=tcp://172.17.8.123:2375