Accessing Docker for Mac via Remote Access API

I’ve been recently experimenting with Docker and I would like to be able to access Docker from within a container in order to run more containers. As I’m experimenting with the platform, I’m running it locally on my Mac, and I am unsure how I would enable the Docker Daemon to be accessed from inside a container.

In order to access the daemon locally, I use the UNIX socket /var/run/docker.sock, however UNIX sockets are not able to be networked, and so I found an article explaining how to enable the Docker Remote Access REST API on Ubuntu (http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-enable-docker-remote-api.html). It explained how I needed to append DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock' to the file /etc/init/docker.conf, however I have been unable to find this file on my Mac.

  • How to set docker mongo data volume
  • Callback (or equivalent) when container w/ Rails app finishes booting?
  • Making a docker container a part of a vpn
  • Rename Ethernet Adapter In Docker windowsservercore Image
  • Volumes not mounting with docker-compose on docker toolbox for windows
  • Show python system.info logs in docker-compose log
  • Any help or directions would be greatly appreciated,

    Cheers

  • Docker-compose container using host DNS server
  • Run dockerised Flask app to heroku with gunicorn
  • “Address already in use” error upon docker-compose up
  • deploying nodejs on docker
  • Docker routing/reverse proxy issue, can't curl other container
  • How to use docker-machine on a private server?
  • One Solution collect form web for “Accessing Docker for Mac via Remote Access API”

    You need to set a DOCKER_HOST environment variable:

    export DOCKER_HOST='-H unix:///var/run/docker.sock -H tcp://localhost:2376'
    

    You can create a environment.plist file in ~/Library/LaunchAgents/ to do that at system startup:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>my.startup</string>
      <key>ProgramArguments</key>
      <array>
        <string>sh</string>
        <string>-c</string>
        <string>
    launchctl setenv DOCKER_HOST -H unix:///var/run/docker.sock -H tcp://localhost:2376
        </string>
      </array>
      <key>RunAtLoad</key>
      <true/>
    </dict>
    </plist>
    
    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.