From 58af4f7094049ca25c3255e970991b0a93a067cc Mon Sep 17 00:00:00 2001 From: Pablo Carranza Velez Date: Tue, 20 Dec 2016 01:47:52 -0300 Subject: [PATCH] Switch to aufs for the docker-in-docker development supervisor Also update a few details about the dind on the README. Change-Type: patch Signed-off-by: Pablo Carranza Velez --- README.md | 13 ++++++++----- .../dind/config/services/docker.service.d/aufs.conf | 3 +++ .../config/services/docker.service.d/overlayfs.conf | 3 --- 3 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 tools/dind/config/services/docker.service.d/aufs.conf delete mode 100644 tools/dind/config/services/docker.service.d/overlayfs.conf diff --git a/README.md b/README.md index 81daa771..766f403b 100644 --- a/README.md +++ b/README.md @@ -62,9 +62,13 @@ The config.json file should look something like this: Additionally, the `uuid`, `registered_at` and `deviceId` fields will be added by the supervisor upon registration with the resin API. ### Start the supervisor instance + +Ensure your kernel supports aufs (in Ubuntu, install `linux-image-extra-$(uname -r)`) and the `aufs` module is loaded (if necessary, run `sudo modprobe aufs`). + ```bash -make ARCH=amd64 SUPERVISOR_IMAGE=username/resin-supervisor:master run-supervisor +ARCH=amd64 SUPERVISOR_IMAGE=username/resin-supervisor:master ./tools/dev/dindctl run ``` + This will setup a docker-in-docker instance with an image that runs the supervisor image. ### Testing with preloaded apps @@ -99,7 +103,7 @@ This will make the docker-in-docker instance pull the image specified in apps.js If you want to enable passwordless dropbear login (e.g. while testing `resin sync`) you can set the `PASSWORDLESS_DROPBEAR` option to `true`, like: ```bash -make PASSWORDLESS_DROPBEAR=true ARCH=amd64 SUPERVISOR_IMAGE=username/resin-supervisor:master run-supervisor +PASSWORDLESS_DROPBEAR=true ARCH=amd64 SUPERVISOR_IMAGE=username/resin-supervisor:master ./tools/dev/dindctl run ``` ### View the containers logs @@ -109,13 +113,12 @@ docker exec -it resin_supervisor_1 journalctl -f ### View the supervisor logs ```bash -docker exec -it resin_supervisor_1 /bin/bash -tail /var/log/supervisor-log/resin_supervisor_stdout.log -f +./tools/dev/dindctl logs -f ``` ### Stop the supervisor ```bash -make stop-supervisor +./tools/dev/dindctl stop ``` This will stop the container and remove it, also removing its volumes. diff --git a/tools/dind/config/services/docker.service.d/aufs.conf b/tools/dind/config/services/docker.service.d/aufs.conf new file mode 100644 index 00000000..77f9bf5b --- /dev/null +++ b/tools/dind/config/services/docker.service.d/aufs.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=/usr/bin/docker daemon --storage-driver aufs --host=fd:// diff --git a/tools/dind/config/services/docker.service.d/overlayfs.conf b/tools/dind/config/services/docker.service.d/overlayfs.conf deleted file mode 100644 index ac8c1ee4..00000000 --- a/tools/dind/config/services/docker.service.d/overlayfs.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Service] -ExecStart= -ExecStart=/usr/bin/docker daemon --storage-driver overlay --host=fd://