问题标签 [docker-for-mac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5918 浏览

docker - 为什么推送到私有、安全的 docker 注册表会失败?

我想在一个自我修复的 AWS ECS 集群上运行一个私有的、安全的、经过身份验证的 docker 注册表。集群设置已完成并且工作正常,但我很难registry:latest运行。问题是,每次我推送图像时,推送 blob 都会失败,除非我超时,否则会进入重试周期。

为了确保我的 ECS 设置不是障碍,我尝试使用 Docker4Mac 1.12.0-a 在本地设置所有内容。

首先,非常基本的设置有效。我创建了我自己版本的注册表映像,在那里我将我的 TLS 证书包和密钥以及必要的htpasswd文件直接放入映像中。[我知道,这是不安全的,我只是为了测试目的而这样做]。所以这是我的Dockerfile

server_bundle.pem我的域(CN=*.mydomain.com)有一个通配符证书mydomain.com作为第一个,然后是中间 CA 证书,所以客户应该很高兴。我的htpasswd文件是使用推荐的方法创建的:

我建立我的形象:

然后我运行一个非常基本的版本,没有 TLS 和身份验证:

我实际上可以拉、标记和重新推送图像:

这行得通。接下来,我通过环境变量使 TLS 和基本身份验证工作:

暂时我创建一个条目,/etc/hosts其中说:

然后我登录:

所以现在,让我们在此处标记并推送图像:

发生的情况是,docker 客户端尝试推送片段并失败。然后它重试并再次失败,直到我超时。所以接下来检查V2API 是否正常工作:

好的,正如预期的那样。所以让我们下次进行身份验证:

作品。但是推动仍然失败。

日志说:

我还测试了原始registry图像的不同版本,尤其是上面的几个版本2。都产生相同的错误。如果有人可以在这个问题上帮助我,那就太棒了。

0 投票
1 回答
2887 浏览

bash - 无法连接到 Docker 提供的 Jupyter Notebook

我一直在学习 Docker,最终目标是使用它来提供和共享 Jupyter Notebooks。下面是一个示例 Dockerfile:

start.sh文件如下所示:

我然后:

从这一点来看,我认为我应该能够导航到localhost:8888并查看 Jupyter Notebook。如果我通过以下方式连接到容器:docker exec -i -t container_id /bin/bash我可以tail -f /home/docker/output.txt看到我可以从 Docker 容器中卷曲它。同样ps auwx | grep 'jupyter'确认 Jupyter Notebook 网络服务器正在运行。

除了将端口绑定到Dockerfile8888:8888EXPOSING之外,我还缺少什么?每当我连接到http://localhost:8888它时,它都会说“本地主机没有发送任何数据”。

我正在使用 Docker for Mac 版本 1.12.1-beta26.1 build 1200。

0 投票
4 回答
27292 浏览

docker - 如何访问 docker 的 HyperKit 创建的虚拟机?

Docker for Mac使用HyperKit创建的 Linux VM在 Mac 上存储和运行容器。

使用 Docker Toolbox,我可以打开 VirtualBox 并访问 docker-machine 虚拟机。但是使用 Docker for Mac,我如何访问由 HyperKit 创建的 VM?

0 投票
1 回答
450 浏览

docker - Docker cpu 共享并保证容器的最小分配 CPU

我开发了一个应用程序,该应用程序在我的开发盒上的三个容器中运行,带有一个带有超线程的四核,这意味着系统和 docker 需要使用 8 个内核。

您对容器的 CPU 分配由 docker-compose 完成,如下所示:

  • redis:cpu_shares:1024
  • mysql: cpu_shares: 1024
  • 应用程序:cpu_shares:4096

我对 redis 请求超时感到困扰。负载是最小的,但是 redis 的利用率是爆发式的,中断时间更长,至少在开发环境中是这样。

因此,我假设 docker 没有为 redis 容器分配足够的 CPU 份额。我想已经准备好在 redis 上施加一个持续的人工负载,让 docker 为其分配更多的 CPU 份额。

是否有其他方法可以确保容器的特定 CPU 份额?

0 投票
4 回答
52459 浏览

docker - 如何从终端重新启动 Docker for Mac?

Docker for Mac 在菜单栏中鲸鱼图标的下拉菜单中有一个简洁的“重新启动”按钮。

不过,我希望能够从终端重新启动 Docker for Mac。我需要运行什么命令?

0 投票
3 回答
557 浏览

docker - 列出 Docker for Mac 使用 Docker Toolbox 创建的镜像

从 Docker 的文档中,我读到Docker for MacDocker Toolbox可以共存。

所以我以为我可以使用由 创造的这些图像Docker for Mac,但是当我切换到 时Docker Toolbox,结果我错了,因为我输入docker imagesDocker Quickstart Terminal.app没有列出图像。

有没有办法做到这一点?

0 投票
1 回答
2471 浏览

macos - Docker for Mac:容器的主机名设置

使用 Docker for Mac (v1.12.1) 我正在通过 Compose 运行一些容器。我正在使用这样的简单 docker-compose.yml:

从主机,通过http://localhost:81连接工作正常。

为了避免端口映射,我想为容器设置一个主机名,这样我就可以使用http://mycontainer.local 之类的东西从主机连接。是否可以为容器设置主机名(或静态 IP)?

0 投票
2 回答
7536 浏览

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

我正在尝试将插入我的 mac 的 Arduino 暴露给我在Docker for Mac中运行的 linux 实例(无 vm)。

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

我正在运行的命令是

如果我尝试使用--privileged

什么都没有暴露!

我正在使用它来公开串行设备以测试linux 中的串行驱动程序。

0 投票
1 回答
5601 浏览

docker - gsutil:无法在 www.googleapis.com 找到服务器

在给定此 Dockerfile的 Docker for Mac 1.12.3上:

跑步

将产生

这里提出了一些修复https://code.google.com/p/google-cloud-sdk/issues/detail?can=2&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Stars%20Summary% 20log&groupby=&sort=&id=1146喜欢:

哪个修复了gcloud init故障,但是当我尝试对我的任何存储桶进行操作时,gsutil我得到:

我的身份验证方法activate-service-account使用 JSON 密钥,如下所示:

任何想法如何解决这一问题?

- 更新 -

我从 dockerfile 备份了一个图像并将其推送到 Docker Hub。要重现问题,请下载 GS 密钥并重命名key.json并运行:

0 投票
0 回答
317 浏览

macos - 使用 Docker for Mac 在 swarm 服务中挂载“pwd”

我已经按照本指南在 Docker for Mac 中设置了一个 swarm 集群: https ://medium.com/@alexeiled/docker-swarm-cluster-with-docker-in-docker-on-macos-bdbb97d6bb07#.2x5gqgrkq

一切似乎都正常工作,我能够看到集群。

现在我想在 swarm 中创建一个 docker 注册表。

以下失败:

检查容器给了我:

我发现http://lucjuggery.com/blog/?p=753让我可以进入 Mac 上的 moby VM。可以在 moby 中看到挂载,并且上面的命令可以正常工作,而注册表正在运行:

当所有其他命令似乎都工作时,为什么它不能从本机 docker 客户端工作?