问题标签 [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 投票
0 回答
55 浏览

docker - 让 Docker4Mac 和 vagrant 看到彼此的网络

我有在vagrant中运行的 API,我有在docker 容器中运行的消费者。

问题是,以前,使用docker-machine我可以很容易地将 vagrant 和 docker-machine 放入同一个网络。

使用Docker Desktop for Mac 似乎有点难以以某种自动化方式完成。此刻我正在做的是将我的流浪主机添加为l0.

让生活更轻松的方法是什么?

0 投票
4 回答
6116 浏览

nginx - Docker for Mac nginx 示例不运行

Mac 10.11.5 在这里。我专门尝试安装Docker for Mac不是Docker Toolbox 或任何其他产品)。我按照他们的安装页面上的所有说明进行操作,一切都很顺利,直到他们要求您尝试运行 nginx 服务器(第 3 步。探索应用程序并运行示例)。

跑步docker run hello-world效果很好,完全没有问题。我能够看到该图像预期的正确控制台输出。

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

我跑了这个,没有错误。预期控制台输出:

所以我跑了docker ps

到目前为止,一切都很好。但随后我打开浏览器并将其指向http://localhost并得到(在 Chrome 中):

在此处输入图像描述

有什么想法我会出错吗?我等了 5 分钟只是为了给 nginx/docker 足够的时间来启动,但这并没有改变任何东西。


出于跟踪目的,相关的 GitHub 问题:

https://github.com/docker/for-mac/issues/393

0 投票
4 回答
6518 浏览

macos - xdebug 在 Mac 的 Docker Desktop 中不起作用

在我从Docker Machine切换到Docker Desktop for Mac后,xdebug 停止工作。9000使用 xdebug 的容器无法访问主机上的端口。
php.ini

码头工人-compose.yml

xdebug.log

Н如何解决我的问题?

0 投票
2 回答
4309 浏览

docker-compose - Docker Compose 端口问题。无法在 localhost 上启动 docker 项目

我在安装了Docker Desktop for Mac10.11.6 stable 的 mac(El Capitan,stable, )上。

我在官方节点图像上运行一个简单的 javascript 应用程序。外观如下Dockerfile

这是docker-compose.yml

运行docker-compose up正常启动一切:

docker ps显示端口已映射:

但我无法在浏览器上看到项目页面(使用localhost:1234)。当我在 docker 之外运行项目时工作正常。因此,排除了项目的问题。

尝试了以下方法:

  1. 使用不同的node码头工人
  2. 在 docker beta 和稳定版本之间切换
  3. 停止所有主机 apache/nginx 服务

但没有运气:(我在这里错过了什么?

0 投票
1 回答
5700 浏览

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

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

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

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

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

码头工人信息

用于启动容器的命令:

0 投票
1 回答
119 浏览

mongodb - Docker for Mac 和 --host 选项

我一直在使用 Docker for Mac(版本 1.12.0-a(内部版本:11213))。

我正在尝试使用图像来运行我的量角器测试。我正在使用以下命令运行测试: docker run -it --privileged --rm --net=host -v /dev/shm:/dev/shm -v $(pwd):/protractor webnicer/protractor-headless src/test/e2e/config/docker-config.js

这是我的配置文件:

Mongo 在容器内运行,webnicer/protractor-headless容器可以看到 Mongo 并可以插入所有数据(我检查了 Mongo 并通过 确认docker logs)。

但看起来webnicer/protractor-headless看不到localhost:8080应用程序的部署位置。

看起来这与--net=host选项有关,但我不确定。有人有想法或建议吗?

0 投票
1 回答
1282 浏览

docker - Docker - 正在运行容器但无法在浏览器中查看应用程序

按照此处概述的入门文档,我决定运行相同的环境,但使用新的 Docker for Mac 应用程序。文档说,在运行命令后,我应该能够去 192.168.99.100/admin 登录,但我无法拉起任何东西。我认为这是因为该应用程序配置了 docker 工具箱,该工具箱使用了上述虚拟机 ip。做 localhost:80 我得到应用程序错误和图标,请问我做错了什么我是 docker 新手并使用这些新工具进行开发。

0 投票
2 回答
500 浏览

linux - 运行 Docker 镜像

用户指南指出应按如下方式运行图像:

我知道这-t会创建伪终端并-i使其具有交互性。但似乎这/bin/bash部分是不必要的。无论我是否使用 运行它/bin/bash,我都会得到一个交互式提示,我可以从两次读取和写入。

为什么我们需要/bin/bash

第2部分

我在 Docker for Mac 上运行。当我下载hello-world二进制文件并运行它时,它只是1kb. 显然,Linux 映像并未随它一起下载。小型hello-world二进制文件是从我的 Mac 内核运行还是从 Docker for Mac 附带的小型 Linux 内核运行?

0 投票
3 回答
5330 浏览

macos - 您如何绕过 Docker for Mac 中 Docker.qcow2 的大小限制?

我有一个大型 (100gb+) 数据库,我正在尝试使用官方 postgres image运行。

我无法将数据存储在 docker 卷中,因为~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2Docker for Mac 中的文件的大小限制约为 60gb。

我对将主机目录挂载为卷犹豫不决,因为挂载的主机目录卷中的文件访问比常规卷慢得多。

这些是一些有用的链接,可以更详细地讨论这些问题:

  • 这里讨论 Docker.qcow2 文件的大小限制
  • 也讨论了 Docker.qcow2 文件的大小限制
  • 讨论了挂载的主机目录卷速度问题
  • 很好地描述了如何用可以变大的文件替换 Docker.qcow2 文件
  • 讨论了 Docker.qcow2 文件如何在其内容被删除时不缩小(这没有直接关系,但会使问题进一步复杂化)

你们都只是吃掉速度损失并挂载主机目录吗?您是否手动创建了一个可以使用 qemu 变大的 qcow2 文件(如果这样做,您是否需要在升级之间维护此文件)?你会做其他事情来处理这个问题吗?

0 投票
0 回答
581 浏览

python - 最佳实践:使用 docker for mac 的 Python 开发环境

我在我的 Mac 上工作,并在容器内运行了一个 python-flask 应用程序。我正在使用 Docker for mac。

目的:我希望我的应用程序在每次更改代码时自动重新加载。我想从 mac 中的 IDE(atom) 访问和更改代码。

当我构建映像时,我的 Dockerfile 会创建一个 virtualenv(/app/venv)。

当我运行容器时,我会挂载代码卷,以便我可以从本地 IDE 访问和更改代码。

问题:这种方法的问题是我在图像构建中创建的 venv 文件夹由于我制作的卷安装而消失了。

围绕它的最佳做法是什么?