hypriot / cluster-lab

Hypriot Cluster Lab
http://blog.hypriot.com
MIT License
156 stars 18 forks source link

Docker Daemon #30

Open whatever4711 opened 8 years ago

whatever4711 commented 8 years ago

By default, the Docker Daemon is started with ExecStart=/usr/bin/docker daemon -H fd://. This behavior must be overwritten to be applicable to a json configuration. I suggest to write a file in /etc/systemd/system/docker.service.d containing

[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon

It modifies the default start behavior. Beware to call systemctl daemon-reload before starting docker again.

Govinda-Fichtner commented 8 years ago

@whatever4711 This https://github.com/hypriot/image-builder-rpi/commit/3c0ad0a885997702bc3c484091ecc0065d0e4bf2 commit ensures that it will work with the latest image out of the box.

For the standalone use (e.g. installation via package) we still need to determine what the best way is to handle this...

whatever4711 commented 8 years ago

@Govinda-Fichtner Just discussed with @firecyberice that we will open a PR to docker.

For all others confronted with this error while starting clusterlab on non Hypriot-OS devices, execute the following script as superuser before running clusterlab:

#!/bin/sh
echo "Creating default daemon.json"
cat << EOF > /etc/docker/daemon.json
{
    "hosts": ["fd://"]
}
EOF

echo "Overwriting systemd docker daemon startup"
mkdir -p /etc/systemd/system/docker.service.d
cat << EOF > /etc/systemd/system/docker.service.d/clusterlab.conf
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon
EOF

echo "Reloading systemd and restarting docker"
systemctl daemon-reload
systemctl restart docker