问题标签 [docker-engine]
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 - Artifactory docker注册表:禁止错误
我们正在尝试在我们的公司设置中设置 Artifactory(其中有一个代理服务器)。Nginx、Artifactory 和 PostgreSQL 在容器中运行(使用 JFrog 的 docker compose 示例启动)。
但我无法使用 cli 命令 ( docker login
) 成功登录到 docker。我收到以下错误:
这是我的 /etc/hosts 文件:
这是 artifactory.conf 文件:
其他有用信息:
码头工人信息
码头工人版本:
我试过什么?
我真的筋疲力尽,走到了死胡同。需要有关使用 CLI 成功登录 docker 的指导。
问候
阿迪亚
docker - 通过使用 docker api 创建服务(群模式)将 2 个 docker 容器链接在一起
我正在使用 docker api 创建容器、网络、服务等,但我的要求是我希望面向公众的容器与在同一网络上运行的另一个容器进行通信。为此,我可以使用容器名称作为主机名以及我尝试连接非公共容器的端口。
我无法通过任何与服务相关的 api 找到容器的名称。我绝对可以使用 docker-compose 的链接功能,但我正试图通过 API 来做到这一点。谁能帮我这个?
docker - 使用 Docker Engine API 设置容器的 CPU 核心数
我有一个后端服务器程序,它使用 Docker Engine API (Json API) 启动 docker 容器,我想将每个 docker 容器的 CPU 内核数限制为例如 1。
Docker 引擎 API 文档有几个选项来配置容器的 CPU 设置,请参阅https://docs.docker.com/engine/api/v1.24:
我可以使用CpusetCpus
它,但这很麻烦,因为我需要保留一个列表,列出哪些 docker 容器分配给了哪些 CPU 内核。(我不在乎我的容器运行哪个 CPU 内核,我只是想避免它使用超过 1 个 CPU 内核。)
我还可以设置CpuQuota
每个 docker 容器仅使用所有 CPU 内核的 12.5%,这对应于具有 8 个 CPU 内核的服务器上的 1 个 CPU 内核。这种方法的问题在于,如果我在具有不同 CPU 核心数量的不同服务器上运行我的后端程序,则CpuQuota
12.5% 的设置不再对应于 1 个 CPU 核心。
上述两种选择都很麻烦且远非理想。必须有更好/更简单的方法来设置每个容器的 CPU 内核数?!
docker - `docker start` 并行?
我在单个 Docker 网络上启动了 1000 个容器,所有容器都来自同一个 Docker 映像。
目前部署需要很长时间。我已经将这个过程分成docker create
and docker start
,而不是整体的docker run
.
有什么方法可以并行旋转容器吗?- 乐于在编程界面(Go、C 等)中工作,或使用 CLI 命令。
相关:Docker Engine 可以并行启动容器吗[3 年前问过并回答过]
docker - 如何设置 docker-compose /bin/bash 入口点?
我想仅使用 docker-compose.yml 以交互模式输入一个带有逗号的 docker 容器 /bin/bash 。这里有一个关于堆栈溢出的类似问题:Interactive shell using Docker Compose Answers provided there didn't work。这就是我的 docker-compose.yml 的样子:
这是我的控制台输入和输出:
阅读上述帖子,我当然也尝试过替换:
对于这两行:
但是在执行此操作时,docker compose 在附加时会卡住:
没有任何事情发生。没有错误和退出,也没有“完成”消息。
当尝试它sh
而不是bash
它时,它会说以下内容command: '-it
:
并且在替换它时也会像 bash 一样卡住。
请注意,我可以在没有命令和入口点的情况下构建和运行服务器,只需使用以下命令:
我的问题仍然是如何使用 docker-compose 和入口点来完成它,所以它只能用它来完成docker-compose up
。
更新:我正在使用 Linux manjaro
docker - docker-engine 到 docker-compose 到 docker compose 文件关系
伙计们:
提前感谢您的时间和关注。
docker-compose.yml 文件和 docker-compose cli 可执行文件之间有什么关系是我正在尝试的信息?
这是我的例子。
现在是 docker-compose.yml 文件
根据https://docs.docker.com/compose/compose-file上的文档,如果docker-engine版本是17.04,它应该支持docker-compose 文件版本指令3.2
然而我看到了这一点。错误
***** 错误如下******
所以问题是我做错了什么?
-奈良哈里
docker - 从 docker ce 迁移到 docker-EE
我已经在 docker -ce引擎上构建了我所有的微服务,并让所有系统都使用 Kubernetes 运行。
现在我想开始使用docker-EE,从我所读到的内容中,我无法理解是否能够将所有图像与新的docker-EE一起用作我的 docker 引擎?
docker - 有没有办法强制执行模块间依赖/初始化顺序?
使用 Azure IoT Edge,我还没有找到任何方法来保证部署中容器/模块的初始化顺序。例如,假设我有 2 个模块,A 和 B。A 是服务器,B 是依赖于 A 的客户端。据我所知,无法保证 A 在 B 之前启动。
Azure IoT Edge 部署模板符合 Docker 引擎 API,我找不到任何方法通过该 API 强制执行依赖项。作为一种解决方法,我不假设每个容器的代码中运行了哪些容器。这可行,尽管额外代码的开销并不理想,特别是考虑到像 docker-compose 这样的工具会使执行初始化顺序变得相当简单。
我想做这样的事情(src:https ://docs.docker.com/compose/compose-file/ ):
作为一种解决方法,并按照上面的示例,在web
容器中我一直在执行以下操作,以确保在执行相关操作postgres
之前启动并运行:web
postgres
当然,这是一个带有明显缺陷的人为示例,但它展示了解决方法的要点。
docker - 启动 docker 服务时出错。“docker.service 的依赖项作业失败。有关详细信息,请参阅 'journalctl -xe'。”
因此,在对 docker 配置进行了一些细微更改后,我尝试重新启动 docker,结果出现以下错误消息:
A dependency job for docker.service failed. See 'journalctl -xe' for details.
Kubernetes 也在运行这个 docker 守护进程的同一台机器上运行。以下是 docker 服务的日志(输出journalctl -u docker.service
)。
我关注了 Github 和 SO 的一些链接,但到目前为止没有运气,任何提示都值得赞赏以下是我尝试过的事情:
删除
/var/log/docker
,重新加载 docker-daemon 并尝试重新启动 docker,没有用。override.conf
在目录中创建一个名为的文件/etc/systemd/system/containerd.service.d
并尝试重新启动 docker 服务不起作用。
windows - 有效 mcr.microsoft.com/windows/servercore:ltsc2019-amd64 容器映像上的 BLOB_UNKNOWN
在过去的几天里,我一直在使用 docker 注册表 API 并编写一个小工具来缩小它与 Microsoft 容器注册表 (mcr.microsoft.com) 的交互范围。我的最终目标是能够从 MCR 下载图像,而无需直接依赖 docker pull 或任何 docker 工具。
通读 Docker Registry API的文档,特别是关于如何拉层的部分,它指出 URL 构建为/v2/<name>/blobs/<digest>
. 然后,它提到客户端应如何准备从此类 URL 获取重定向响应。
我一直在尝试拉图像mcr.microsoft.com/windows/servercore:ltsc2019-amd64
,但我似乎无法成功实现这一目标。
从码头工人,这似乎工作正常:
但是,我无法直接使用 docker 注册表 API 访问此映像的各个 blob:
返回的错误似乎是“未找到”而不是“重定向”。docker pull 如何找出从哪里下载图层的正确链接?
我尝试通读 docker 分发代码库,但似乎无法拼凑出这个谜题。在https://github.com/docker/distribution/blob/master/registry/storage/paths.go中,提到了 blob 的存储,我相信这是我构建层下载路径的地方。但是,我不完全理解它是如何找出真正的路径的,因为它只是尝试其中的一些,直到一个有效。
这里可能有什么问题?难道我做错了什么?我错过了什么吗?