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

java - Gradle 无法在 Mac 上运行 docker 任务

我正在使用gradle-dockerPalantir 的插件。当我尝试构建 docker 时,我收到以下错误消息:

Starting process 'command 'docker''. Working directory: /Users/msolomkin/Projects/glossary/discovery-server/build/docker Command: docker build --build-arg JAR_FILE=discovery-server-0.0.1-SNAPSHOT.jar -t solomkinmv/discovery-server .

/Users/msolomkin/Projects/glossary/discovery-server/build/docker但是当我手动进入工作目录( )并运行命令时,docker build --build-arg JAR_FILE=discovery-server-0.0.1-SNAPSHOT.jar -t solomkinmv/discovery-server .一切正常。

此外,我的 Travis 能够构建 docker 映像。看起来这是我为 Mac 安装 Docker 的问题。

Docker for Mac 版本:17.12.0-ce-mac49 (21995)

摇篮版本:4.4.1

这是我的任务配置:

这里是 GitHub 的链接:https ://github.com/solomkinmv/glossary/tree/discovery-server/discovery-server

为 Docker for Mac 配置环境变量以便能够运行 gradle 任务的正确方法是什么?

0 投票
11 回答
191247 浏览

docker - 什么是“host.docker.internal”的linux等价物

在 Mac 和 Windows 上,可以在容器内使用docker.for.mac.host.internal(replaces docker.for.mac.localhost) 和docker.for.win.host.internal(replaces docker.for.win.localhost) host.docker.internal (Docker 18.03+)。

有没有一种适用于 Linux 的工具,它可以在不传递环境变量或使用各种 CLI 命令提取它的情况下开箱即用?

0 投票
1 回答
308 浏览

docker - Docker build_image 无法访问我的本地 Maven 存储库

嗨,正在运行 docker:引擎:Mac 10.12.6 上的 17.12.0-ce

我正在使用 build_image 功能。

收到以下错误。我很确定可以从我的笔记本电脑/wifi 和 VPN 访问服务器

似乎是 DNS 问题,我的 /etc/resolv.conf 非常好,我很确定机器可以访问。看起来我的网络上的某些机器可以访问,而其他机器不能访问。

我可以测试

结果:

更新。添加名称以使其清晰。

docker build 的结果:

从我的控制台...

很明显,您可以看到 docker 正在解析 IP,并且我的笔记本电脑可以连接。

0 投票
1 回答
22 浏览

docker - Docker for Mac 上非常大的 postgres 数据目录的最高性能存储?

我正在探索将 Docker for Mac 用于我的本地开发环境。大多数事情都很清楚,但我想知道存储我的 Postgres 数据目录的最佳方法是什么。我的公司在开发中使用我们非常大的生产数据库的完整快照,因此增加了一些限制。在这种情况下,“最佳”大致翻译为性能最高的东西。

目前我正在使用绑定挂载,因此数据目录位于我的主机上。这工作正常。容器存储显然不是一个初学者。卷似乎是一个潜在的好选择,但使用local卷类型会导致Docker.qcow2文件填满时空间不足。我知道还有许多其他卷驱动程序,但尚不清楚它们中的任何一个是否特别适合此用例,或者我是否应该坚持使用绑定安装。

0 投票
2 回答
5635 浏览

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

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

此外,其他事情似乎不起作用。例如,根据文档,ctrl-c应该导致附加的容器停止并分离。但是,我无法ctrl-c处理我的任何容器。ctrl-q但是,与 不同的是,ctrl-c它按预期呈现反馈,^C在终端中显示 a。

我注意到由于某种原因,当我按 时ctrl-p,我在终端中得到 a ^P,但按ctrl-qorctrl-shift-q没有终端反馈。

谁能冒险猜测为什么会发生这种情况?

如果重要的话,我在 MacOS 上使用 iTerm2。此外,有问题的容器是使用docker-compose.

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

然后我附加使用:

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

0 投票
1 回答
267 浏览

macos - 如何将自签名证书添加到 Mac 上的 docker 守护进程?

我意识到基于 Docker 的波动性(尤其是对于 OS X),这个问题不会过时,但我愿意问它。

我正在使用 Docker 17.12.0-ce-mac49,并且正在尝试将我的公司自签名证书添加到守护程序。

我以前这样做的方式是:

但是现在我发现我无法将证书附加到守护进程的证书存储中,因为 linuxkit 是一个只读文件系统。

当然有一些方法可以让 docker 守护进程尊重我的自签名证书......但是如何?

0 投票
1 回答
4786 浏览

mysql - Docker 更新后 Mysql 表丢失:“引擎中不存在表名”

最近的 Docker 更新似乎导致 MariaDB 中的(只是一些)InnoDB 表无法访问。我得到:

#1932 - Table 'dbname.SomeTableName' doesn't exist in engine

尝试访问它们时(它们确实显示在表格列表中)。我过去更新了 Docker(和图像)没有问题。db 文件和权限看起来不错。

我可以从备份中重新创建“丢失”的表(约 35 个中的 4 个),但是当我尝试删除它们时,我得到:

#1347 - 'dbname.SomeTableName' is not VIEW

我正在使用 Docker 映像mariadb:10.2(MariaDB-10.2.12+maria~jessie) 和绑定挂载,作为本地 Docker-for-Mac 开发环境的一部分,用于持久数据存储。docker-compose.yml 文件如下所示:

mysql: image: mariadb:10.2 volumes: - ./data/mysql:/var/lib/mysql

我以前从未遇到过此错误,并且无法转储或导出无法访问的表。有没有办法恢复或修复(或删除)它们?我宁愿不必重新创建整个数据库。

0 投票
2 回答
439 浏览

mysql - 在没有 docker-compose 的情况下访问 Docker (MySQL) 容器?

我是 Docker 新手,可能会让事情变得混乱,但假设我有多个项目,并且我想对它们使用相同的 docker MySQL 数据库。

其中一些项目也运行 Docker,有些不运行,运行 Docker 的项目在 repos 中有 docker-compose.yml,所以我无法更改此文件,对于其他项目,我根本不想使用 Docker(基本容器除外) .

我已经拉了https://hub.docker.com/_/mysql/然后像这样运行它:

当我运行时,docker ps我可以看到mysql-experiment正在运行。

我可以使用docker exec -it mysql-experiment bash. 但是我对 MySQL 还不够好,无法通过终端对其进行管理。

我的问题是 - 我如何设置这个容器以便它拥有自己的端口和 IP,并且我可以在本地网络中的任何地方使用它,而无需 docker-compose?

现在它在端口上的 localhost 上运行3306(根据docker ps),但是当我尝试在 Sequel Pro 中访问 127.0.0.1:3306 时,我得到:

另外,我不确定我应该在这个容器中使用什么用户名(我试过 admin/root/empty)

[编辑]

我知道有很多这样的问题,但都涉及到 docker-compose。

0 投票
1 回答
2420 浏览

docker - 无法从 MacOs 访问 Jenkins(Docker 容器)网址(172.17.0.2)

我退出jenkins imagedocker hub尝试使用以下命令运行:

或者

然后我正在检查正在运行的 jenkins: docker inspect [container id]networks输出中的节点说ip address172.17.0.2但是当我在浏览器中输入时172.17.0.2:8080它无法访问..有什么想法吗?

0 投票
0 回答
1196 浏览

node.js - node.js、TCP 套接字和 docker - 为什么连接由对等方重置,并发连接数超过 32 个?

截至昨天,我对 Docker 完全陌生。我有这个我正在运行的 node.js 服务器,它只是创建一个 TCP 服务器,然后处理来自客户端的消息。有一个由我一直在运行的其他人编写的测试工具,它允许您想要的任意数量的并发连接。

当我在本地运行它时,我可以有 100 多个并发连接没问题。但是,当我开始进行 200 多个并发连接时,有时我确实会在本地看到一个问题,它实际上遇到了问题socket.on(error)并给了我一个错误。如果我直接启动服务器并尝试 200 个并发连接,它通常会成功完成,但后续尝试会出错。

但是,当我使用在 Docker 中运行的服务器运行线束时,一旦我尝试使用 33 个并发连接运行它,它就不起作用。我从测试工具中收到“对等连接重置”错误。如果我尝试 32 个连接,它工作正常。当我尝试 33+ 时,我也没有在服务器上看到任何错误,就像我在本地运行时一样。如果我在 33+ 失败后再次尝试进行 32 个并发连接,它将成功。

有谁知道为什么会发生这种情况?我必须更改 Docker 中的某种设置以允许超过 32 个并发连接吗?我发现它是 32 的硬限制并且总是与 32 一起工作而从不与 33 一起工作,这很有趣。

FWIW,在我的 node.js 服务器中,我让它监听port 8080host 0.0.0.0. 最初我有它,127.0.0.1但虽然它在本地工作,但它在 Docker 中不起作用。要运行它,我使用的是 command docker run -p 8080:8080 app

我在运行最新 OSX 的 MacBook Pro 上运行 Docker。

有任何想法吗?