如何在谷歌云构建中将参数传递给 docker run
Posted
技术标签:
【中文标题】如何在谷歌云构建中将参数传递给 docker run【英文标题】:How to pass parameters to docker run in google cloud build 【发布时间】:2021-05-15 14:04:57 【问题描述】:我正在尝试使用 GCB 运行 cypress 管道,但在 docker 中运行时它会崩溃。
如here 所述,此问题的修复方法是使用--ipc=host
运行docker。
但是查看文档,我找不到如何在 GCB 中将参数传递给 docker run。
谁能帮帮我?
管道是
steps:
# Install node_modules
- name: 'gcr.io/cloud-builders/yarn'
args: ['install']
# Lint JS
- name: 'gcr.io/cloud-builders/yarn'
args: ['lint']
# Unit tests
- name: 'gcr.io/cloud-builders/yarn'
args: ['test:unit', '--coverage']
# E2E tests (cypress dependencies required, see https://github.com/GoogleCloudPlatform/cloud-builders-community/pull/485)
- name: 'gcr.io/$PROJECT_ID/cypress-dependencies'
args: ['test:e2e', '--headless', '--config', 'video=false']
【问题讨论】:
见:github.com/GoogleCloudPlatform/cloud-builders/tree/master/… 你能分享你的管道吗? @guillaumeblaquiere 添加到主帖中 【参考方案1】:您可以尝试这样做。我不知道它是否会起作用,因为您在容器中运行容器,但请尝试您的最新步骤
- name: gcr.io/cloud-builders/docker
entrypoint: 'bash'
args:
- -c
- |
docker run --ipc=host gcr.io/$PROJECT_ID/cypress-dependencies \
test:e2e --headless --config video=false
【讨论】:
以上是关于如何在谷歌云构建中将参数传递给 docker run的主要内容,如果未能解决你的问题,请参考以下文章