问题标签 [docker-in-docker]
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 - 使用 Google Cloud Build,我如何运行执行 docker 和 kubectl 命令的 Makefile?
我收到了一个由许多 s 构建的项目,这些Makefile
s 运行许多docker
命令。我想在 Cloud Build 上构建它。
我知道 Cloud Build 原生处理 Docker,但必须使用现有的 Makefile 结构。
我尝试了 make Custom Build 步骤,但 Cloud Build 由于缺少docker
and 而失败kubectl
。所以我可以将这些添加到Dockerfile
make Custom Build 步骤中,但这似乎是错误的,因为然后 make运行 Docker-in-Docker 并且这会导致问题——例如,gcloud
权限kubectl
和上下文丢失。
作为这样一个 Makefile 的一小部分,这里有一个目标,它调用docker build
和docker push
.
如何在 Cloud Build 中运行这些 Makefile?
docker - 启动容器进程导致“exec:\”/tmp/installer.sh\“:权限被拒绝”
我有一个基本映像(名为@release_docker//image
),我正在尝试在其上安装一些 apt 包(以及我构建的二进制文件)。这是它的样子:
但是在构建 docker(运行构建命令的 docker 映像)内部,当我运行时bazel build :my-image --action_env DOCKER_HOST=tcp://192.168.1.2:2375
,它会出错:
docker - 从 docker 运行 docker 时权限被拒绝 /var/run/docker.sock
我有一个容器,我需要在其中使用另一个容器(第一个容器包含我的构建环境,一些项目是通过创建容器来构建的)。我阅读了有关避免使用 docker-in-docker 的信息,并遵循了此处的建议:https ://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/所以我像这样运行容器:
docker run -v /var/run/docker.sock:/var/run/docker.sock -ti 6519bf891fee bash
这就是我得到的,试图在容器内运行 docker hello-world:
此外,尝试cat /var/run/docker.sock
会导致:
虽然ls -l /var/run/docker.sock
:
我在主机和容器中都以 root 身份运行,并且已将 docker 用户添加到两者中的 sudoers 组。例如在容器内:
docker - docker:tmp 上没有可用空间
我docker-dind
在我的openshift
.
我遇到了一个与no enought disk space
. 这意味着 docker 让我:
启动守护程序时出错:无法获取 /var/lib/docker 下的 TempDir:mkdir /var/lib/docker/tmp:设备上没有剩余空间
之后,我检查了这个磁盘空间,并将我的卷的请求空间增加到 150GiB。
我在使用时再次获得了可用空间,/var/lib/docker
并且df
它得到了:
如您所见,现在有足够的磁盘空间。
有任何想法吗?docker
请记住,由于 docker daemon 未启动,我无法运行任何命令。
另外,我测试了磁盘空间的分配位置。我已经看到/var/lib/docker/vfs/dir
了一堆目录:
kubernetes - Hyperledger Fabric 对等节点中记录的“上下文已取消”错误
我有时在我的 Hyperledger Fabric 对等节点 (v1.4) 中收到以下错误。有时系统在它之后工作正常,但是一旦我看到 ContractRouter 在该错误之后完全启动,此时需要执行链代码。知道这可能是什么原因吗?如果重新启动运行链代码的底层 docker 容器会不会有问题?(如日志所示,这将是 pod nid1-blockchain-hapeer1-mrrc-0.9.8)
如何检查运行链代码的 docker 的 DinD docker(我使用 Kubernetes)中的日志?(我正在使用 Java 链代码)。谢谢。
docker - Docker 在 Kubernetes 中的 docker 路由
我使用 Calico 网络层在 Kubernetes 主机上遇到了与网络相关的问题。对于持续集成,我需要在 docker 中运行 docker,但是docker build
使用这个Dockerfile运行起来很简单:
产生输出:
似乎 docker 容器在 Kubernetes 上创建时路由无效。Kubernetes 编排的 Pod 可以正常访问 Internet。
docker - 如何访问 docker-in-docker 内的企业 docker hub?
我有一个公司代理和 docker 注册表(nexus)。当我执行 command:
docker login -u <corporate_login> -p <pass> https://nexus-corporate.com
时,我获得了成功的连接。但是当我使用 docker-in-docker image 并执行类似的命令时,代理存在问题。如何解决问题?
错误信息:
docker - GitLab CI:如何连接到 .gitlab-ci.yml 脚本中启动的 docker 容器?
初始任务
在我的 GitLab CI 构建中,我想:
- 使用本地 AmazonDB 启动 docker 容器。标准端口布局:
8000
docker 中的端口,端口8000
暴露。当然,一切都在本地运行,我可以连接(curl
、、、awc-cli
Amazon DB 的 Java 代码,随心所欲)。 - 将它用于测试,即以
--endpoint-url http://localhost:8000
(或任何其他映射的 IP 而不是localhost
)连接到它。
问题
.gitlab-ci.yml
看起来像这样:
关键执行点(Gitlab-CI 日志)如下所示:
Docker 容器运行:
curl 失败(尝试了所有可能的变化,这只是一个例子):
我试过有无
尝试使用主机名localhost
or docker
,tcp://localhost
带http://
前缀或不带前缀,使用端口80
,8000
or 2375
。没有任何效果。
的${DOCKER_HOST}
值为unix:///var/run/docker.sock
:
/etc/hosts
不包含别名docker
问题
- 如何解决这个典型的任务?
- 是否可以解决
docker run
,或者需要复杂的docker-compose
使用。 - 是否有工作示例的链接?
- 没有
docker
别名是一个问题/etc/hosts
吗? unix:///var/run/docker.sock
的有效值是${DOCKER_HOST}
? 这个变量的值不应该设置在variables
(.gitlab-ci.yml
尤其是tcp://localhost:2375
)中吗?
链接
我用谷歌搜索了多个链接。那里的解决方案目前对我没有帮助。
- https://gitlab.com/gitlab-com/support-forum/issues/748
- https://gitlab.com/gitlab-org/charts/gitlab/issues/478
- https://blog.lwolf.org/post/how-to-build-and-test-docker-images-in-gitlab-ci/
- https://gitlab.com/gitlab-org/gitlab-foss/issues/26566 - 类似的问题,对于
docker-compose
- https://gitlab.com/gitlab-org/gitlab-foss/issues/40774 - 完全相同的问题
- Gitlab CI runner 无法暴露嵌套 Docker 容器的端口
- 无法访问在 docker 内创建的 docker-compose 容器
docker - Gitlab-CI dind 和 docker 服务坏了
描述
我不能再用 dind 启动 docker 容器了,我使用 Gitlab-CI 并且它曾经可以工作。
我的.gitlab-ci.yml
样子是这样的:
预期的
这是我在启动 CI 时所期望的:
结果
这是我在启动 CI 时所拥有的:
GitLab 环境信息的结果展开与 GitLab 环境信息相关的输出
GitLab 应用程序检查结果展开与 GitLab 应用程序检查相关的输出
问题
我也尝试按照他们的文档中的描述添加DOCKER_TLS_CERTDIR=""
我的,没有什么可以让我再启动 docker 服务了。.gitlab-ci.yml
升级
我刚刚升级到最新的 gitlab-ce 版本,但没有帮助:
最近有什么变化吗?