課題
- 外部で動作する Docker を Docker Toolbox を用いて操作する。
手法
- Docker の Remote API を有効にする。
前提
1. ホスト
対象: Docker Toolbox 1.10.1
環境: Windows 8.1, Cygwin 2.4.1, VartualBox 5.0, Vagrant 1.8.1
2. 仮想マシン
対象: Docker 1.10.1
環境: CentOS 7.1
内容
1. 仮想マシンの起動
- Vagrant の Box を準備する。
$ vagrant box add packer/centos-7.1 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.1/vagrant-centos-7.1.box
- Vagrantfile を作成する。
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "packer/centos-7.1"
config.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh", auto_correct: true
config.vm.network "public_network"
end
- 仮想マシンを起動する。
$ vagrant up
2. 仮想マシンのアップデート
- 仮想マシンの CentOS をアップデートする。
$ vagrant ssh
[vagrant@localhost ~]$ sudo yum update
[vagrant@localhost ~]$ sudo shutdown -r now
- 仮想マシンの VirtualBox Guest Additions をアップデートする。
$ vagrant plugin install vagrant-vbguest
$ vagrant vbguest
- 必要に応じてこちらを参考に仮想マシンの容量を拡張する。
3. Docker の起動
- 仮想マシンに Docker をインストールする。
$ vagrant ssh
[vagrant@localhost ~]$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
[vagrant@localhost ~]$ sudo yum install docker-engine
- 仮想マシンの Docker を起動する。
[vagrant@localhost ~]$ sudo systemctl enable docker
[vagrant@localhost ~]$ sudo systemctl start docker
4. Docker Remote API の有効化
- 仮想マシンの Docker Remote API を有効にする socket の定義を作成する。
[vagrant@localhost ~]$ sudo tee /usr/lib/systemd/system/docker-tcp.socket <<-'EOF'
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=2376
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.target
EOF
- 仮想マシンの Docker を再起動する。
[vagrant@localhost ~]$ sudo systemctl enable docker-tcp.socket
[vagrant@localhost ~]$ sudo systemctl stop docker
[vagrant@localhost ~]$ sudo systemctl start docker-tcp.socket
[vagrant@localhost ~]$ sudo systemctl start docker
5. Docker Toolbox の準備
インストーラ
DockerToolbox-1.10.1.exe
でホストに Docker Toolbox をインストールする。ホストの Docker Toolbox の環境設定をする。
$ export DOCKER_HOST="tcp://${仮想マシンのIPアドレス}:2376"
6. 動作確認
- ホストの Docker Toolbox の
docker.exe
を実行する。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES