标签: docker-for-mac

通过Docker for Mac从Docker Hub中提取的图像的位置是什么

*注意:我知道这个问题,但是,它与Docker Toolbox有关,而不是与Docker Desktop for Mac有关,似乎每个工具都使用不同的位置来本地存储Docker图像

在哪里可以找到通过Docker Desktop for Mac从Docker Hub中提取的docker图像?

我尝试通过以下命令验证Docker是否正在运行.

docker run hello-world
Run Code Online (Sandbox Code Playgroud)

因此,Docker守护程序从Docker Hub中取出了"hello-world"图像,但我无法找到它.

macos docker docker-for-mac docker-desktop

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

使用Docker for Mac创建一个群集群集

我一直在尝试遵循这个教程:https://docs.docker.com/engine/swarm/swarm-tutorial/

我没有在一些真正的Linux主机或本地虚拟机上运行它,而是想为几台运行适用于Mac的Docker桌面的MacBook进行网络连接.

在本教程之后,我在两台机器上安装了适用于Mac的Docker桌面.在第一台机器上的终端docker swarm create工作并创建一个ca哈希和id.

继续第二台机器,我通过将其从一个粘贴到另一个来执行连接命令.

第二台机器无法连接.这是预期的,因为输出中显示的IP地址显然是虚拟机内的IP地址,而不是我机器上的地址.我尝试通过指定本地网络适配器的地址从教程转移,但它说它无法绑定到该地址.我知道所有端口都是打开的,机器可以相互连接.

所以在我看来,我从根本上误解了教程的目的或如何设置两台Mac,以便他们可以进行通信.通过Google搜索解决方案,似乎我需要做几件事:

运行分布式kv存储来帮助群集网络协调(但这不是新业务流程的重点?)在每台机器上设置从网络适配器到alpine linux docker守护程序的端口隧道放弃并只测试我的集群本地

更新:经过一些研究后,似乎我应该使用本指南创建一个覆盖网络.但本指南使用的是docker-machine.据我所知,我应该/不能使用docker-machine和Docker桌面用于Mac,或者这是不正确的?

https://docs.docker.com/engine/userguide/networking/get-started-overlay/

docker docker-swarm docker-for-mac docker-desktop

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

如何在macOS Sierra上运行虚拟化Win10 + VS2017 + Docker(来宾或主机)?

我在运行macOS Sierra的Macbook Pro上安装了Windows 10和Visual Studio 2017企业版以及Docker for Windows作为Parallels虚拟机,并启用了嵌套虚拟化.

启动Docker for Windows以运行Linux容器时,Windows 10虚拟机上的MobyLinuxVM Hyper-V映像似乎崩溃,并显示以下消息:

__CODE__

当我切换到运行Windows容器时,Hyper-V映像不会崩溃.

现在,我一直在阅读Docker文档,Parallels文档和大量论坛帖子.看起来Docker不支持在嵌套虚拟化中运行Docker for Windows,而且有很多Parallels用户曾经使用过它,但它在Parallels的Version {X}中停止工作.

有没有其他开发人员使用macOS + Windows 10 + VisualStudio2017 + Docker设置成功运行?如果是这样,你是如何实现这一目标的?

有人知道虚拟机上的Visual Studio 2017是否可以在主机操作系统上使用Docker for Mac?如果是这样,你是如何配置的?

或者是否有更好的替代方法来运行虚拟化Windows,并能够将Docker与Visual Studio 2017结合使用?如果是这样,你能描述一下这个设置吗?

parallels docker docker-for-windows docker-for-mac visual-studio-2017 docker-desktop

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

在新的Docker for Mac(Edge)上启动服务(Ingress)

更新:使用:

kubectl expose deployment <Name-Of-Servce> --name=loadbalancer --port=8080 --target-port=8080 --type=LoadBalancer

kubectl get services正显示出未决的:

loadbalancer                 LoadBalancer   <x.x.x.x>   <pending>     8080:32670/TCP   2m
Run Code Online (Sandbox Code Playgroud)

在Docker支持Kubernetes之前,我可以使用MiniKube和Helm:

helm install stable/jenkins
kubectl get services // To get the service name
minikube service original-llama-jenkins // << The service name
Run Code Online (Sandbox Code Playgroud)

现在我们有支持Kubernetes的Docker for Mac(Edge),你如何添加EXTERNAL-IP

谢谢

kubernetes docker-for-mac minikube kubernetes-helm

5
推荐指数
2
解决办法
4850
查看次数

Docker for Mac nginx示例无法运行

Mac 10.11.5在这里.我特意尝试安装Docker for Mac(不是 Docker Toolbox或任何其他产品).我按照他们的安装页面上的所有说明进行操作,一切正常,直到他们要求您尝试运行nginx服务器(步骤3.浏览应用程序并运行示例).

跑步docker run hello-world工作精美,没有任何问题.我能够看到该图像所需的正确控制台输出.

但是,然后他们会要求您尝试运行nginx实例:

docker run -d -p 80:80 --name webserver nginx
Run Code Online (Sandbox Code Playgroud)

我跑了这个,没有错.控制台输出是预期的:

Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx
51f5c6a04d83: Pull complete 
a3ed95caeb02: Pull complete 
51d229e136d0: Pull complete 
bcd41daec8cc: Pull complete 
Digest: sha256:0fe6413f3e30fcc5920bc8fa769280975b10b1c26721de956e1428b9e2f29d04
Status: Downloaded newer image for nginx:latest
ae8ee4595f47e7057e527342783d035b224afd17327b057331529e2820fe2b61
Run Code Online (Sandbox Code Playgroud)

那么我跑了docker ps:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
ae8ee4595f47        nginx               "nginx -g 'daemon off"   12 seconds …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-for-mac

4
推荐指数
1
解决办法
3378
查看次数

无法连接到Docker提供的Jupyter Notebook

我一直在学习Docker的最终目标是使用它来提供和分享Jupyter笔记本.下面是Dockerfile的示例:

FROM python:2
ENV PYTHONUNBUFFERRED 1
RUN pip install jupyter

RUN useradd --create-home --home-dir /home/docker --shell /bin/bash docker
RUN adduser docker sudo

ADD start.sh /home/docker/start.sh
RUN chmod +x /home/docker/start.sh
RUN chown docker /home/docker/start.sh

ADD prod_sentiment.ipynb /home/docker/prod_sentiment.ipynb
ADD output.txt /home/docker/output.txt
RUN chmod +x /home/docker/output.txt
RUN chown docker /home/docker/output.txt

EXPOSE 8888
RUN usermod -a -G sudo docker
RUN echo "docker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
USER docker

ENV HOME=/home/docker
ENV SHELL=/bin/bash
ENV USER=docker

RUN printenv
CMD ./home/docker/start.sh
Run Code Online (Sandbox Code Playgroud)

start.sh文件看起来像这样:

#! /bin/sh …
Run Code Online (Sandbox Code Playgroud)

bash docker jupyter-notebook docker-for-mac

4
推荐指数
1
解决办法
1496
查看次数

如何配置Mac版Docker桌面中使用的DNS服务器Docker?

Mac的Docker桌面中的内置DNS服务器确实很慢,因此默认情况下,我想使用其他DNS服务器。我知道我可以--dns=...在运行docker命令时添加,但是我想要一种为所有容器设置默认DNS服务器的方法,从而不必为每个容器分别指定DNS服务器。

如何为Docker for Mac上的所有容器设置默认DNS服务器?

dns docker docker-for-mac docker-desktop

4
推荐指数
1
解决办法
3993
查看次数

Docker直接访问容器IP/Port

我有用于实验的 docker 容器。所以我不知道我以后在尝试新应用程序时会使用哪些端口。是否可以在不将其暴露在 docker-run 命令中的情况下从主机使用 ip/port 访问 docker 容器应用程序?

docker docker-for-mac

4
推荐指数
2
解决办法
1万
查看次数

docker attach:为什么我不能从Docker容器中分离?

由于某些原因,运行后我无法从Docker容器中分离出来docker attach <container>。该文档说要使用Ctrl-p, Ctrl-q,但似乎不起作用。我也尝试了ctrl-q + ctrl-p(组合,而不是按顺序)和ctrl-shift-q, ctrl-shift-pctrl-shift-q + ctrl-shift-p。例如,即使设置分离键--detach-keys="p"也不会从容器分离。

此外,其他事情似乎不起作用。例如,根据文档,ctrl-c应使连接的容器停止并脱离。但是,我无法ctrl-c在任何容器上工作。ctrl-q但是,与不同,它ctrl-c按预期方式提供反馈,^C并在终端中显示a 。

我已经注意到,由于某种原因,当我按时ctrl-p,会^P在终端中显示a,但是按ctrl-qctrl-shift-q不会显示终端反馈。

任何人都可以猜测为什么会发生这种情况吗?

如果重要的话,我在MacOS上使用iTerm2。此外,有问题的容器还通过发射docker-compose

编辑:为清楚起见,我docker-compose up在以下compose文件上启动了我的容器:

version: '3'

services:
  test:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: container-test
    ports:
      - "5050:5050"
Run Code Online (Sandbox Code Playgroud)

然后我使用附加:

$ docker attach container-test
Run Code Online (Sandbox Code Playgroud)

编辑2:经过一些测试,我可以确认MacOS终端中仍然存在此问题。

macos docker docker-compose docker-for-mac

4
推荐指数
1
解决办法
2110
查看次数

从在Mac上本地Docker中部署的服务中访问本地Kafka(包括Kubernetes扩展)

  • 我在OSX上本地工作。
    • 我在本地模式下使用Kafka和zookeeper。我的Kafka装置中的意思是zookeeper。一节点集群。
    • 两者都在回送本地主机上工作

zookeeper.connect=localhost:2181

  • 我的/etc/host样子如下:
127.0.0.1         localhost MaatPro.local  
255.255.255.255   broadcasthost  
::1               localhost MaatPro.local  
fe80::1%lo0       localhost MaatPro.local
Run Code Online (Sandbox Code Playgroud)
  • 我的机器上安装了Mac版的docker,带有Kubernetes扩展名。

我的情况

  • 我有一个Akka流微服务dockerized,它从外部数据库读取数据并将其写入Kafka主题。它用作引导服务器:

"localhost:9092"

问题

  • 当我直接在计算机上运行服务时(例如,命令行或从Intellij内部运行),一切正常。当我在本地Docker或Kubernetes上运行它时,出现以下错误:

(o.a.k.clients.NetworkClient) [Producer clientId=producer-1] Connection to node 0 could not be established. The broker may not be available.

使用Kubernetes,我构建了以下YAML文件来部署我的Pod:

apiVersion: v1
kind: Pod
metadata:
  name: fetcher
spec:
  hostNetwork: true
  containers:
   - image: entellectextractorsfetchers:0.1.0-SNAPSHOT
     name: fetcher
Run Code Online (Sandbox Code Playgroud)

我采取了预防措施来设置hostNetwork:true

直接使用Docker守护程序,我最初也尝试将网络设置为主机,但是发现这不适用于Mac的docker。因此,我放弃了那条路线。我知道这与虚拟化有关。

1)Docker发生的虚拟化问题是否与我的本地kubernetes相同?基本上,主机网络是虚拟机,而不是我的mac?

2)我尝试更改代码,并根据文档添加以下地址作为引导服务器:host.docker.internal。但是问题仍然存在。基本问题是我正在使用环回地址的事实吗?我确实可以在我的网络地址上工作吗?host.docker.internal指向哪个地址?如何使其与环回地址一起使用?如果我完全不了解,对实现该功能需要执行的任何想法?

非常感谢您对此的任何帮助。

apache-kafka docker kubernetes docker-for-mac

4
推荐指数
1
解决办法
680
查看次数