问题标签 [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.
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 客户端尝试推送片段并失败。然后它重试并再次失败,直到我超时。所以接下来检查V2
API 是否正常工作:
好的,正如预期的那样。所以让我们下次进行身份验证:
作品。但是推动仍然失败。
日志说:
我还测试了原始registry
图像的不同版本,尤其是上面的几个版本2
。都产生相同的错误。如果有人可以在这个问题上帮助我,那就太棒了。
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:8888
中EXPOSING
之外,我还缺少什么?每当我连接到http://localhost:8888
它时,它都会说“本地主机没有发送任何数据”。
我正在使用 Docker for Mac 版本 1.12.1-beta26.1 build 1200。
docker - 如何访问 docker 的 HyperKit 创建的虚拟机?
Docker for Mac使用HyperKit创建的 Linux VM在 Mac 上存储和运行容器。
使用 Docker Toolbox,我可以打开 VirtualBox 并访问 docker-machine 虚拟机。但是使用 Docker for Mac,我如何访问由 HyperKit 创建的 VM?
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 份额?
docker - 如何从终端重新启动 Docker for Mac?
Docker for Mac 在菜单栏中鲸鱼图标的下拉菜单中有一个简洁的“重新启动”按钮。
不过,我希望能够从终端重新启动 Docker for Mac。我需要运行什么命令?
docker - 列出 Docker for Mac 使用 Docker Toolbox 创建的镜像
从 Docker 的文档中,我读到Docker for Mac和Docker Toolbox可以共存。
所以我以为我可以使用由 创造的这些图像Docker for Mac
,但是当我切换到 时Docker Toolbox
,结果我错了,因为我输入docker images
并Docker Quickstart Terminal.app
没有列出图像。
有没有办法做到这一点?
macos - Docker for Mac:容器的主机名设置
使用 Docker for Mac (v1.12.1) 我正在通过 Compose 运行一些容器。我正在使用这样的简单 docker-compose.yml:
从主机,通过http://localhost:81连接工作正常。
为了避免端口映射,我想为容器设置一个主机名,这样我就可以使用http://mycontainer.local 之类的东西从主机连接。是否可以为容器设置主机名(或静态 IP)?
linux - 使用 docker for mac 在 docker 容器中公开 TTY 设备
我正在尝试将插入我的 mac 的 Arduino 暴露给我在Docker for Mac中运行的 linux 实例(无 vm)。
Arduino 将自己暴露为/dev/tty.usbserialXXX
. 我正在使用node
基于 ubuntu 的 docker 镜像。
我正在运行的命令是
如果我尝试使用--privileged
什么都没有暴露!
我正在使用它来公开串行设备以测试linux 中的串行驱动程序。
docker - gsutil:无法在 www.googleapis.com 找到服务器
在给定此 Dockerfile的 Docker for Mac 1.12.3上:
跑步
将产生
哪个修复了gcloud init
故障,但是当我尝试对我的任何存储桶进行操作时,gsutil
我得到:
我的身份验证方法activate-service-account
使用 JSON 密钥,如下所示:
任何想法如何解决这一问题?
- 更新 -
我从 dockerfile 备份了一个图像并将其推送到 Docker Hub。要重现问题,请下载 GS 密钥并重命名key.json
并运行:
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 客户端工作?