问题标签 [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.
java - Gradle 无法在 Mac 上运行 docker 任务
我正在使用gradle-docker
Palantir 的插件。当我尝试构建 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 任务的正确方法是什么?
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 命令提取它的情况下开箱即用?
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,并且我的笔记本电脑可以连接。
docker - Docker for Mac 上非常大的 postgres 数据目录的最高性能存储?
我正在探索将 Docker for Mac 用于我的本地开发环境。大多数事情都很清楚,但我想知道存储我的 Postgres 数据目录的最佳方法是什么。我的公司在开发中使用我们非常大的生产数据库的完整快照,因此增加了一些限制。在这种情况下,“最佳”大致翻译为性能最高的东西。
目前我正在使用绑定挂载,因此数据目录位于我的主机上。这工作正常。容器存储显然不是一个初学者。卷似乎是一个潜在的好选择,但使用local
卷类型会导致Docker.qcow2
文件填满时空间不足。我知道还有许多其他卷驱动程序,但尚不清楚它们中的任何一个是否特别适合此用例,或者我是否应该坚持使用绑定安装。
macos - docker attach:为什么我不能从我的 Docker 容器中分离?
出于某种原因,我无法在运行docker attach <container>
. 文档说要使用Ctrl-p, Ctrl-q
,但这似乎不起作用。我也尝试过ctrl-q + ctrl-p
(组合,而不是按顺序) and ctrl-shift-q, ctrl-shift-p
and ctrl-shift-q + ctrl-shift-p
。即使设置了分离键,例如--detach-keys="p"
也不会从容器中分离出来。
此外,其他事情似乎不起作用。例如,根据文档,ctrl-c
应该导致附加的容器停止并分离。但是,我无法ctrl-c
处理我的任何容器。ctrl-q
但是,与 不同的是,ctrl-c
它按预期呈现反馈,^C
在终端中显示 a。
我注意到由于某种原因,当我按 时ctrl-p
,我在终端中得到 a ^P
,但按ctrl-q
orctrl-shift-q
没有终端反馈。
谁能冒险猜测为什么会发生这种情况?
如果重要的话,我在 MacOS 上使用 iTerm2。此外,有问题的容器是使用docker-compose
.
编辑:为清楚起见,我使用docker-compose up
以下compose
文件启动了我的容器:
然后我附加使用:
编辑 2:经过一些测试,我可以确认这个问题在 MacOS 终端中仍然存在。
macos - 如何将自签名证书添加到 Mac 上的 docker 守护进程?
我意识到基于 Docker 的波动性(尤其是对于 OS X),这个问题不会过时,但我愿意问它。
我正在使用 Docker 17.12.0-ce-mac49,并且正在尝试将我的公司自签名证书添加到守护程序。
我以前这样做的方式是:
但是现在我发现我无法将证书附加到守护进程的证书存储中,因为 linuxkit 是一个只读文件系统。
当然有一些方法可以让 docker 守护进程尊重我的自签名证书......但是如何?
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
我以前从未遇到过此错误,并且无法转储或导出无法访问的表。有没有办法恢复或修复(或删除)它们?我宁愿不必重新创建整个数据库。
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。
docker - 无法从 MacOs 访问 Jenkins(Docker 容器)网址(172.17.0.2)
我退出jenkins
image
并docker hub
尝试使用以下命令运行:
或者
然后我正在检查正在运行的 jenkins: docker inspect [container id]
,networks
输出中的节点说ip address
是172.17.0.2
但是当我在浏览器中输入时172.17.0.2:8080
它无法访问..有什么想法吗?
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 8080
和host 0.0.0.0
. 最初我有它,127.0.0.1
但虽然它在本地工作,但它在 Docker 中不起作用。要运行它,我使用的是 command docker run -p 8080:8080 app
。
我在运行最新 OSX 的 MacBook Pro 上运行 Docker。
有任何想法吗?