标签: docker-for-mac

如何在Docker for mac中自动启动docker容器?

每次我的笔记本电脑唤醒时,Docker Desktop for Mac都会重新启动,我必须手动启动所有容器docker start <container>.有没有办法自动完成?

docker docker-for-mac docker-desktop

5
推荐指数
1
解决办法
3053
查看次数

如何从局域网上的另一台机器访问 Docker 容器

我正在使用Docker Desktop for Mac并在我的主机上运行一个容器。我可以通过主机上的 localhost 访问容器。但它不能从局域网上的其他系统获得。

容器是nginx web server,它可以localhost:80在同一 LAN 网络上的其他系统上访问但不能访问。

我希望其他系统能够访问主机上的容器。

编辑 1:添加 docker-compose 配置和“docker info”命令输出

version: '2'

services:
  nginx:
    image: artifactory.service.dev:5000/nginx:latest
    network_mode: host
    ports:
      - "80:80"
      - "10001-10020:10001-10020"
      - "8080:8080"
    volumes:
      - ~/docker/.docker/nginx/html:/usr/share/nginx/html

  redis:
    image: artifactory.service.dev:5000/redis:latest
    restart: always
    ports:
      - "6379:6379"

  activemq:
    image: artifactory.service.dev:5000/rmohr/activemq:5.11.1
    restart: always
    ports:
      - "61613:61613"
      - "61616:61616"
      - "8161:8161"

  oracle:
    image: artifactory.service.dev:5000/oracle-12c:latest
    restart: always
    ports:
      - "1521:1521"
    volumes:
      - ~/docker/.docker/oracle:/tmp/oracle:ro
    privileged: true
Run Code Online (Sandbox Code Playgroud)

码头工人信息

Containers: 4
 Running: 3 …
Run Code Online (Sandbox Code Playgroud)

docker docker-container docker-for-mac docker-desktop

5
推荐指数
1
解决办法
5049
查看次数

使用 docker for mac 在 docker 容器中公开 TTY 设备

我正在尝试将插入我的 mac 的 Arduino 公开到我在Docker for Mac(无虚拟机)中运行的 Linux 实例。

Arduino 将自己暴露为/dev/tty.usbserialXXX. 我使用的node是基于 ubuntu 的 docker 镜像。

我正在运行的命令是

$ docker run --rm -it -v `pwd`:/app --device /dev/tty.usbmodem1421 node bash
docker: Error response from daemon: linux runtime spec devices: error gathering device information while adding custom device "/dev/tty.usbmodem1421": lstat /dev/tty.usbmodem1421: no such file or directory.
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用--privileged

$ docker run --rm -it -v `pwd`:/app --device /dev/tty.usbmodem1421 --privileged node bash
root@8f18fdbcf64d:/# ls /dev/tty.*
ls: cannot access /dev/tty.*: …
Run Code Online (Sandbox Code Playgroud)

linux macos node-serialport docker docker-for-mac

5
推荐指数
1
解决办法
9703
查看次数

如何修复 macOS vm Docker tty 的输出?

我尝试通过命令连接 vm: screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty 并得到这个: tty 输出

docker docker-for-mac

5
推荐指数
1
解决办法
3214
查看次数

如何将当前目录挂载为只读但仍允许在容器内进行更改?

我有一种情况:

  • 我想将目录 ~/tmp/mycode 挂载到 /mycode 只读
  • 我希望能够编辑目录中的文件,所以我不能只运行-v /my/local/path/tmp/mycode:/mycode
    • 我希望它不会保留主机文件系统上的更改,因此我无法以读/写方式挂载它
  • ~/tmp/mycode 相当大

基本上我希望能够编辑已安装卷中的文件,但不保留这些更改。

我当前的工作流程是使用 dockerfile 创建一个虚拟容器:

ADD . /mycode
Run Code Online (Sandbox Code Playgroud)

然后执行该容器。

然而,随着存储库的增长,执行此步骤所需的时间越来越长,因为我能想到的唯一方法是制作 ~/tmp/mycode 的完整副本,以便能够操作容器中的文件。

我还考虑过安装目录并将其复制到容器内并提交该容器,但这有同样的问题。

有没有办法运行 docker 容器来允许文件编辑,而无需将它们保存在主机上而不复制整个目录?

我使用的是最新的 docker for mac,当前版本为 17.03.1-ce-mac5 (16048)。

docker docker-for-mac

5
推荐指数
1
解决办法
2221
查看次数

Gradle无法在Mac上运行Docker任务

我正在使用gradle-dockerPalantir的插件。当我尝试构建docker时,收到以下错误消息:

Starting process 'command 'docker''. Working directory: /Users/msolomkin/Projects/glossary/discovery-server/build/docker Command: docker build --build-arg JAR_FILE=discovery-server-0.0.1-SNAPSHOT.jar -t solomkinmv/discovery-server .

但是,当我/Users/msolomkin/Projects/glossary/discovery-server/build/docker手动转到工作目录()并运行命令时,docker build --build-arg JAR_FILE=discovery-server-0.0.1-SNAPSHOT.jar -t solomkinmv/discovery-server .一切正常。

另外,我的Travis能够构建docker映像。看来这是我的Mac Docker安装问题。

Mac版Docker:17.12.0-ce-mac49(21995)

摇篮版本:4.4.1

这是我的任务配置:

docker {
    name "solomkinmv/${bootJar.baseName}"
    println "==> Docker task for ${name}"
    files bootJar.archivePath
    buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}
Run Code Online (Sandbox Code Playgroud)

这是GitHub的链接:https : //github.com/solomkinmv/glossary/tree/discovery-server/discovery-server

为Docker for Mac配置env变量以能够运行gradle任务的正确方法是什么?

java gradle docker docker-for-mac

5
推荐指数
0
解决办法
321
查看次数

无法启动服务挂载被拒绝'/ usr/local/share/dotnet/sdk/NuGetFallbackFolder\r \n'不是来自macos X的共享而且不知道对于docker

我已经在macOS X上的asp.net core 2.0项目中创建了一个项目,并在其上支持docker.Successfully创建项目并添加了docker支持.

当我运行项目时,我收到错误

无法启动服务merorentalwebapi:b'Mounts被拒绝:\ r \n路径/ usr/local/share/dotnet/sdk/NuGetFallbackFolder\r \n不是从OS X共享的,并且Docker不知道.\ r \n您可以配置共享来自Docker的路径 - >首选项... - >文件共享.\ r \n请参阅https://docs.docker.com/docker-for-mac/osxfs/#namespaces了解更多信息.\ r \n.'/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/AddIns/docker/MonoDevelop.Docker/MSbuild/Sdks/Microsoft.Docker.Sdk/build/Microsoft.VisualStudio.Docker.Compose.targets(363,5) :错误:启动项目时遇到错误..

这是docker首选项的列表

码头支持

尝试从这个链接Docker的一些解决方案:Mounts否认.路径...不是从OS X共享的,并且Docker不知道 但是没有帮助我解决问题.

我如何解决这个问题,我是苹果mac OS上的.net的新手.

c# macos docker asp.net-core docker-for-mac

5
推荐指数
1
解决办法
1959
查看次数

加载 http://0.0.0.0:27017 时,Mac 操作系统上的 Docker mongodb 连接被拒绝

浏览器屏幕截图 我有 2 个运行 mongo:3.0.3 和 python:2.7 的 docker 容器。我有一个连接到 mongodb 实例的 app.py。在我的 app.py 中,我使用端口 5000 来映射 27017。 app.py 运行正常,但是当我访问http://0.0.0.0:5000时 ,终端上出现此连接拒绝错误。

172.17.0.1 - - [01/Jul/2018 10:01:32] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request …
Run Code Online (Sandbox Code Playgroud)

python macos mongodb docker docker-for-mac

5
推荐指数
1
解决办法
7245
查看次数

如何使用Kubernetes在Mac版Docker中启用网络策略

有没有一种简单的方法可以Network PoliciesMacsingle-node k8s clusterDocker Desktop管理中启用?

kubernetes docker-for-mac kubernetes-networkpolicy docker-desktop

5
推荐指数
1
解决办法
135
查看次数

如何从“ docker-for-desktop”节点获取IP地址?

我正在尝试获取“ docker-for-desktop”节点的IP地址。

我从minikube切换到docker-for-desktop,因为它不需要VirtualBox。

桌面版docker的屏幕截图

我创建了一个公开NodePort的服务。使用minikube上下文时,我可以通过minikube的IP地址访问该服务。当我切换到docker-for-desktop上下文时,由于我不知道其IP地址,因此无法访问该服务。

使用minikube,我能够:

$ minikube ip
Run Code Online (Sandbox Code Playgroud)

甚至:

$ minikube service list
Run Code Online (Sandbox Code Playgroud)

我不确定如何使用docker-for-desktop做到这一点。

我希望有一个命令提供给桌面的docker IP地址。

kubernetes docker-for-mac minikube

5
推荐指数
1
解决办法
199
查看次数