问题标签 [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 - 让 Docker4Mac 和 vagrant 看到彼此的网络
我有在vagrant中运行的 API,我有在docker 容器中运行的消费者。
问题是,以前,使用docker-machine我可以很容易地将 vagrant 和 docker-machine 放入同一个网络。
使用Docker Desktop for Mac 似乎有点难以以某种自动化方式完成。此刻我正在做的是将我的流浪主机添加为l0
.
让生活更轻松的方法是什么?
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 问题:
macos - xdebug 在 Mac 的 Docker Desktop 中不起作用
在我从Docker Machine切换到Docker Desktop for Mac后,xdebug 停止工作。9000
使用 xdebug 的容器无法访问主机上的端口。
php.ini:
码头工人-compose.yml:
xdebug.log:
Н如何解决我的问题?
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 之外运行项目时工作正常。因此,排除了项目的问题。
尝试了以下方法:
- 使用不同的
node
码头工人 - 在 docker beta 和稳定版本之间切换
- 停止所有主机 apache/nginx 服务
但没有运气:(我在这里错过了什么?
docker - 如何从局域网上的另一台机器访问 Docker 容器
我正在使用Docker Desktop for Mac并在我的主机上运行一个容器。我可以通过主机上的 localhost 访问容器。但它不能从局域网上的其他系统获得。
该容器是nginx web server,可以localhost:80
在同一 LAN 网络上的其他系统上访问,但不能从其他系统访问。
我希望其他系统能够访问主机上的容器。
编辑 1:添加 docker-compose 配置和“docker info”命令输出
码头工人信息
用于启动容器的命令:
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
选项有关,但我不确定。有人有想法或建议吗?
docker - Docker - 正在运行容器但无法在浏览器中查看应用程序
按照此处概述的入门文档,我决定运行相同的环境,但使用新的 Docker for Mac 应用程序。文档说,在运行命令后,我应该能够去 192.168.99.100/admin 登录,但我无法拉起任何东西。我认为这是因为该应用程序配置了 docker 工具箱,该工具箱使用了上述虚拟机 ip。做 localhost:80 我得到应用程序错误和图标,请问我做错了什么我是 docker 新手并使用这些新工具进行开发。
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 内核运行?
macos - 您如何绕过 Docker for Mac 中 Docker.qcow2 的大小限制?
我有一个大型 (100gb+) 数据库,我正在尝试使用官方 postgres image运行。
我无法将数据存储在 docker 卷中,因为~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
Docker for Mac 中的文件的大小限制约为 60gb。
我对将主机目录挂载为卷犹豫不决,因为挂载的主机目录卷中的文件访问比常规卷慢得多。
这些是一些有用的链接,可以更详细地讨论这些问题:
- 这里讨论 Docker.qcow2 文件的大小限制
- 这也讨论了 Docker.qcow2 文件的大小限制
- 这讨论了挂载的主机目录卷速度问题
- 这很好地描述了如何用可以变大的文件替换 Docker.qcow2 文件
- 这讨论了 Docker.qcow2 文件如何在其内容被删除时不缩小(这没有直接关系,但会使问题进一步复杂化)
你们都只是吃掉速度损失并挂载主机目录吗?您是否手动创建了一个可以使用 qemu 变大的 qcow2 文件(如果这样做,您是否需要在升级之间维护此文件)?你会做其他事情来处理这个问题吗?
python - 最佳实践:使用 docker for mac 的 Python 开发环境
我在我的 Mac 上工作,并在容器内运行了一个 python-flask 应用程序。我正在使用 Docker for mac。
目的:我希望我的应用程序在每次更改代码时自动重新加载。我想从 mac 中的 IDE(atom) 访问和更改代码。
当我构建映像时,我的 Dockerfile 会创建一个 virtualenv(/app/venv)。
当我运行容器时,我会挂载代码卷,以便我可以从本地 IDE 访问和更改代码。
问题:这种方法的问题是我在图像构建中创建的 venv 文件夹由于我制作的卷安装而消失了。
围绕它的最佳做法是什么?