- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将我的私有(private) docker 镜像与 docker-dind 容器一起运行,以便能够从 Kubernetes 中的私有(private)镜像运行 docker 命令。我唯一的问题是 docker run
命令不读取 docker-secrets,因此要求运行 docker login
失败。如何将凭据传递给 docker run 命令?
这是我的 Kubernetes 部署部分:
containers:
- name: docker-private
image: docker:20.10
command: ['docker', 'run', '-p', '80:8000', 'private/image:latest' ]
resources:
requests:
cpu: 10m
memory: 256Mi
env:
- name: DOCKER_HOST
value: tcp://localhost:2375
envFrom:
- secretRef:
name: docker-secret-keys
- name: dind-daemon
image: docker:20.10-dind
command: ["dockerd", "--host", "tcp://127.0.0.1:2375"]
resources:
requests:
cpu: 20m
memory: 512Mi
securityContext:
privileged: true
volumeMounts:
- name: docker-graph-storage
mountPath: /var/lib/docker
编辑我确实有我的证书作为 Kubernetes secret ,我尝试将其安装到正在运行的 docker,但直到现在都没有成功 :(
apiVersion: v1
data:
.dockerconfigjson: eyJhXXXXXXdoihfc9w8fwpeojfOFwhfoiuwehfo8wfhoi2ehfioewNlcm5hbWUiOiJlbGRhcmVudGas4hti45ytg45hgiVsZGFXXXXXXyQGVudG9yLmlvIiwiYXV0aCI6IlpXeGtZWEpsYm5SdmNqb3dObVl4WmpjM1lTMDVPRFZrTFRRNU5HRXRZVEUzTXkwMk5UYzBObVF4T0RjeFpUWT0ifX19XXXXXXXXXXX
kind: Secret
metadata:
name: staging-docker-keys
namespace: staging
resourceVersion: "6383"
uid: a7yduyd-xxxx-xxxx-xxxx-ae2ede3e4ed
type: kubernetes.io/dockerconfigjson
最终目标是让“内部 docker”(运行 private/image:latest)能够运行任何 docker 命令,而无需在每个命令之前登录。
最佳答案
docker:dind 将在 /certs
中创建 ca、服务器、客户端证书。只需创建 emptyDir
卷即可共享证书。
apiVersion: v1
kind: Pod
metadata:
name: myapp
labels:
name: myapp
spec:
volumes:
- name: docker-tls-certdir
emptyDir: {}
containers:
- name: docker-private
image: docker:20.10
command: ['docker', 'run', '-p', '80:8000', 'nginx' ]
env:
- name: DOCKER_HOST
value: tcp://localhost:2375
volumeMounts:
- name: docker-tls-certdir
mountPath: /certs
- name: dind-daemon
image: docker:20.10-dind
command: ["dockerd", "--host", "tcp://127.0.0.1:2375"]
securityContext:
privileged: true
volumeMounts:
- name: docker-tls-certdir
mountPath: /certs
关于docker - 在 Kubernetes 中使用 dind 运行私有(private)仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73606795/
我们最近在 docker-image 中迁移到 jenkins 并不是那么顺利。 我们有一个(过于?)复杂的设置,其中一个 docker 容器启动一个新容器,并且之前通过共享主机文件夹与新容器共享数据
我面对这个奇怪的问题,无法解释原因。 $ docker run -d --name dind --privileged --net=host -v `pwd`:/app -w /app docker:
在运行docker:dind时,我无法使用docker login命令和任何其他docker命令。 我的用例是我有一个Nexus Docker注册表,并且试图通过GitLab CI连接到此注册表。 d
我在 docker 中设置了 docker 并尝试挂载文件夹。 假设我有那些我希望与他的 parent 共享的文件夹。在主机上,我在/tmp/dind 中创建了一个名为 foo 的文件。 .主机启动容
我正在尝试将 DinD(Docker 中的 Docker)与我的 Gitlab-CI 构建脚本一起使用,并且无论我更改什么,我都会收到相同的错误。我究竟做错了什么? 错误 Service contai
我正在使用 GitLab 以及 GitLab runner 和 DIND。 配置细节: --------------------------------------- docker run --pri
所以出于某种原因,我想在 docker-compose.yml 中使用 docker:dind。我知道“简单”的方法是直接将套接字安装在图像中(例如:/var/run/docker.sock:/var
我正在尝试使用gitlab CI设置作业以从dockerfile构建docker镜像,但是我在代理后面。 我的.gitlab-ci.yml如下: image: docker:stable variab
我想运行 docker:dind 并获得一个 shell。 如果我运行 docker run --privileged docker:dind sh 它只是退出。 解决方法是运行:docker run
是否有现有的非 Alpine dind docker 镜像? 绑定(bind)安装主机的 docker 套接字对我不起作用。我需要适当的努力。 Docker 的 dind 图像似乎都是基于 Alpin
我创建了两个 GitLab 工作: 测试单元(使用 GitLab 上的 PHP 注册 docker) 声纳(使用 docker 服务运行“Letsdeal/docker-sonar-scanner”)
我一直在尝试在 gitlab-runner 中启动和运行 docker,但不断收到如下错误或 无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。 do
我正在尝试在 GitLab CI 中运行持续集成,包括: 构建 docker 镜像 运行测试 将 docker 镜像推送到注册表 那些在一份工作中运行。我可以毫无问题地做到这一点,直到出现一些需要与数
这个问题不是this的重复问题.该问题中的问题是启动一个 docker 实例,但这个实例与 docker 与 docker-compose 的绑定(bind)有关。 我正在尝试在 docker:din
我正在运行一个 docker-in-docker 容器,它总是使用相同的几个图像。 我想在我的 dind 容器中预先拉动它们,这样我就不必在启动时拉动它们。 我将如何能够实现这一目标? 我正在考虑按照
在 gitlab-ci 中运行以下 CI 脚本时出现错误 docker: command not found。此错误发生在部署阶段的 before_script 期间。 services: - d
我正在尝试在 docker https://hub.docker.com/_/docker 中使用 Docker 在另一个容器中运行一个容器。 . 当我运行以下命令时: docker run --pr
我正在尝试从 gitlab ci 转移到 drone.io。但是我不能让 DIND 像在 gitlab 上那样工作。以上是我在gitlab上的做法。 variables: NODE_ENV: 't
我有一个 Dockerfile,它从安装 texlive-full 包开始,它很大并且需要很长时间。如果我在本地docker build,安装后创建的中间镜像会被缓存,后续构建速度很快。 但是,如果我
我尝试将我的私有(private) docker 镜像与 docker-dind 容器一起运行,以便能够从 Kubernetes 中的私有(private)镜像运行 docker 命令。我唯一的问题是
我是一名优秀的程序员,十分优秀!