问题标签 [docker-image]
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 - 如何在 Dockerfile 中标记图像?
我一直在挖掘文档,但没有找到在Dockerfile
. 不过,有一个可用于命令行。
假设我创建一个图像FROM
另一个图像,我不希望它具有相同的名称。我应该如何进行?
docker - Docker:无法将数据从logstash容器发送到Kafka容器
我有 2 个 docker 容器,1 个运行 Logstash,另一个运行 Zookeeper 和 Kafka。我正在尝试将数据从 Logstash 发送到 Kafka,但似乎无法将数据传递到我在 Kafka 中的主题。
我可以登录到 Docker Kafka 容器并从终端向我的主题生成一条消息,然后也可以使用它。
我正在使用输出 kafka 插件:
我从运行中得到的 ipAddressdocker inspect kafka2
当我运行./bin/logstash agent --config /etc/logstash/conf.d/01-input.conf
我得到这个错误。
我通过运行以下返回 OK 的命令来检查文件的配置。
有没有人遇到过这种情况,是不是我没有打开 kafka 容器上的端口,如果是这样,我该如何在保持 Kafka 运行的同时做到这一点?
linux - 从 docker 注册表中提取图像时出错
我正在尝试registry image
从码头拉动。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
但它给出了如下错误:
docker: Error while pulling image: Get https://index.docker.io/v1/repositories/library/registry/images: dial tcp 52.73.159.23:443: getsockopt: no route to host.
我已经设置了代理,但它没有帮助。可能是什么问题呢?我在 Redhat linux 7 上运行。
linux - 私有 Docker 注册表错误
我是 docker 新手,并试图将一些docker registry
使用自签名证书制作的图像推送到其中。
码头工人推
但它给出了以下错误:
推送指的是存储库
无法验证证书
如果我使用域代替 IP 地址,则 docker push
它显示错误:
推送指的是存储库
由未知机构签署的证书
我错过了什么吗?如何解决这个错误?
mongodb - 在其他容器中暴露 mongo 端口
我有这个(自定义)容器,它运行一个需要本地 mongo 的 java 程序。现在,使用 docker,我想在自己的容器中设置 mongo。所以我想,为了在这个 java 容器中本地公开这个 27017 端口,我需要设置一个 SSH 隧道,对吗?如果有更简单的方法请告诉我。
所以,有这个官方的mongo image image,但我得到的印象ssh
是没有安装或运行。这样做的最佳方法是什么?
更新:我在这里改写了更关注端口转发的问题
docker - 有没有办法将 Docker 映像组合到 1 个容器中?
我现在有一些 Dockerfile。
一个用于 Cassandra 3.5,它是FROM cassandra:3.5
我也有一个用于 Kafka 的 Dockerfile,但它要复杂得多。它是FROM java:openjdk-8-fre
,它运行一个很长的命令来安装 Kafka 和 Zookeeper。
最后,我有一个使用 SBT 的 Scala 编写的应用程序。
对于那个 Dockerfile,它是FROM broadinstitute/scala-baseimage
,它为我提供了 Java 8、Scala 2.11.7 和 STB 0.13.9,这正是我所需要的。
也许,我不明白 Docker 是如何工作的,但是我的 Scala 程序将 Cassandra 和 Kafka 作为依赖项,出于开发目的,我希望其他人能够简单地克隆我的 repo,Dockerfile
然后能够使用 Cassandra、Kafka 构建它、Scala、Java 和 SBT 都内置了,因此它们可以只编译源代码。不过,我对此有很多问题。
如何组合这些 Dockerfile?我如何简单地制作一个包含这些东西的环境?
docker - 由于错误无法删除图像:“来自守护程序的错误响应:引用不存在”
我在尝试清除 Docker 创建的图像时遇到了一个奇怪的问题。这就是我所做的:
移除所有容器
/li>检查是否有任何容器在运行或创建后:
/li>删除所有图像:第一次尝试失败,因为引用了图像
/li>
/li>-f
使用选项删除所有图像:
然后这个错误:No such image: 2f21ea981017:latest
出现了,我应该问,为什么?这样的形象在哪里?Docker有某种内部数据库来存储信息吗?
运行所有先前的命令后,我运行以下命令并注意输出:
但是后来我尝试通过运行再次删除图像
我得到了同样的错误,我在这里缺少什么?我该如何解决这个问题?
我应该补充一点,我也运行了这篇文章中的命令,但没有成功。
docker - docker run -v 还是 Dockerfile VOLUME 优先?
Dockerfile
观察
现在我相信我理解VOLUME
在创建之前声明语句的含义test.txt
- 在运行时暴露的卷/var/tmp
将基于test.txt
创建文件之前的中间容器,因此它将是空的(希望这个观察是正确的)
因此,正如预期的那样,以下内容docker run
没有显示test.txt
:
docker run kz/test-volume:0.1
但后来我尝试在运行时提供卷,如下所示:
docker run -v /var/tmp kz/test-volume:0.1
问题
结果是一样的。那么这是什么意思?docker run 命令中的 是否映射到 Dockerfile中命令公开-v /var/tmp
的空/var/tmp
目录,而不是最新映像中的目录?VOLUME
/var/tmp
test.txt
感觉有点迷茫。
docker - 拉取 Docker 镜像时显示的 ID 是什么意思?
从 DockerHub 拉取 Docker 镜像时,CLI 会显示几个进度条,每个进度条都有不同的 ID:
下载完成后,这些 ID 似乎都不是下载的图像 ID:
下载过程中显示的 ID 代表什么?
docker - docker 层目录是如何命名的?
在对 docker 镜像结构的描述中(here),规范显示每一层都有一个目录。它指出
图像中的每一层都有一个目录。每个目录都以 64 个字符的十六进制名称命名,该名称是根据层信息确定性生成的。这些名称不一定是层 DiffID 或 ChainID。
有点令人沮丧的是,他们没有说明这些名称是如何从图层信息中派生的,尽管这可能出现在文档的其他地方(尽管查看它我一直无法找到它)。
派生层目录名称的算法是什么?也许名称并不重要,只要它是确定性选择的?