通过远程访问API访问Docker for Mac

Oli*_*han 5 unix sockets rest docker

我最近一直在尝试使用Docker,我希望能够从容器中访问Docker以运行更多容器.当我正在尝试使用该平台时,我在Mac上本地运行它,我不确定如何从容器内部访问Docker守护程序.

为了在本地访问守护进程,我使用UNIX套接字/var/run/docker.sock,但UNIX套接字无法联网,因此我发现了一篇文章,解释了如何在Ubuntu上启用Docker远程访问REST API(http://www.virtuallyghetto .com/2014/07/quick-tip-how-to-enable-docker-remote-api.html).它解释了我需要如何附加DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'到文件/etc/init/docker.conf,但是我无法在Mac上找到此文件.

任何帮助或指示将不胜感激,

干杯

Rog*_*oto 0

您需要设置DOCKER_HOST环境变量:

export DOCKER_HOST='-H unix:///var/run/docker.sock -H tcp://localhost:2376'
Run Code Online (Sandbox Code Playgroud)

您可以创建一个environment.plist文件来~/Library/LaunchAgents/在系统启动时执行此操作:

<?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>
Run Code Online (Sandbox Code Playgroud)