Jenkinsのmasterコンテナを立ててそのコンテナからslaveコンテナを立てたいなと思って、じゃあmasterコンテナの中にdocker入れてdocker-on-docker状態にするのかなと思ってたけど、別の方法が紹介されてたのでメモ
docker.sockとdockerをマウント
// docker.sock
$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Nov 12 03:51 /var/run/docker.sock
// docker
$ which docker
/usr/local/bin/docker
// マウントする(docker-compose.ymlに書く場合)
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/local/bin/docker:/usr/bin/docker
使ってみる
// ホスト側
docker@default:~$ docker ps | awk '{print $1}'
CONTAINER
9cacd65d5dc4
84a64a8885a3
38f38d662b26
a4401eb7472b
// コンテナ側
docker@default:~$ docker exec -it kontena bash
jenkins@kontena:/$ docker ps | awk '{print $1}'
CONTAINER
9cacd65d5dc4
84a64a8885a3
38f38d662b26
a4401eb7472b
その後jenkinsジョブにdocker run
とか書いてみたらコンテナ起動しました
追記
Docker for Mac beta compatibility #431
Docker for Macはサポート外?らしい雰囲気