Enable Docker Remote API – raspberry pi / raspbian

My starting point is:

  • How to use docker remote api to create container?,

so I edit /etc/init/docker.conf and update 2 occurrences of the DOCKER_OPTS variable to:

  • docker cp permissions are wrong when you mount the directory back into container
  • Custom Installer for Unix Platform to install Python, Java, MySQL
  • Ports On Docker
  • Connection reset: set up Oracle SSL in docker
  • How to make redis BROKER_URL dynamic on deployment to AWS instance
  • How to use COPY command in Docker build?
  • DOCKER_OPTS='-H tcp:// -H unix:///var/run/docker.sock'

    Then, a simple test to list docker images fails:

    $ service docker restart
    $ curl -X GET
    curl: (7) Failed to connect to port 4243: Connection refused

    Docker version is:

    $ sudo docker version
     Version:      1.12.3
     API version:  1.24
     Go version:   go1.6.3
     Git commit:   6b644ec
     Built:        Wed Oct 26 19:06:36 2016
    OS/Arch:      linux/arm
     Version:      1.12.3
     API version:  1.24
     Go version:   go1.6.3
     Git commit:   6b644ec
     Built:        Wed Oct 26 19:06:36 2016
     OS/Arch:      linux/arm

  • How to access docker container service from outside world like from parent windows host machine
  • Gitlab CI build failed with “Preparation failed: cannot connect to Docker endpoint”
  • Understanding Docker image
  • How can i create a folder inside the shared volume with the correct permission in docker?
  • Windows 7 jupyter notebook executing tensorflow
  • php significant slower on docker then kvm
  • 2 Solutions collect form web for “Enable Docker Remote API – raspberry pi / raspbian”

    Not tested this, but if it’s Jessie, then it uses systemd by default as the init system iirc, and this has implications for how the daemon (dockerd) is configured and started.

    So you’re editing the /etc/init/docker.conf file but I don’t think that’s being read / used.

    Take a read of this article on different startup procedures on each init system in Docker, and this for specific systemd configuration.

    The solution comes from the comments of this page: http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-enable-docker-remote-api.html

    [08/18/2016 at 6:00 am] Oliver Weise says:
    Thanks, that put me in the right direction. However since Ubuntu 16.04
    with its systemd docker daemon the /etc/default/docker is no longer
    effective. Instead you need to create a systemd dropin file.

    I placed such a file under: /etc/systemd/system/docker.service.d/remote-api.conf

    With the contents:

    ExecStart=/usr/bin/dockerd -H tcp:// -H unix:///var/run/docker.sock

    (Yes, the double ExecStart is necessary)

    After that run:

    sudo systemctl daemon-reload // reloading daemon definitions
    sudo systemctl restart docker
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.