bash - 使用 GitLab-CI 在 Docker 容器中找不到文件

标签 bash docker permissions echo gitlab-ci

使用 GitLab-CI,我试图将 secret 变量回显到 Docker 容器内的文件中。该文件存在并且用户有权写入该文件但我得到 No such file or directory错误。

$ /usr/bin/docker exec -t $CI_PROJECT_NAME ls -la /opt/application/conf/kubeadminaccount.yml
    -rw-rw-r-- 1 nodeuser nodeuser 420 Aug 18 07:19 /opt/application/conf/kubeadminaccount.yml

$ /usr/bin/docker exec -t $CI_PROJECT_NAME whoami
    nodeuser

$ /usr/bin/docker exec -t $CI_PROJECT_NAME echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml
    bash: line 69: /opt/application/conf/kubeadminaccount.yml: No such file or directory

最佳答案

您的重定向运算符正在主机上工作,而不是在您的容器内。在下面更改

$ /usr/bin/docker exec -t $CI_PROJECT_NAME echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml


$ /usr/bin/docker exec -t $CI_PROJECT_NAME bash -c "echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml"

关于bash - 使用 GitLab-CI 在 Docker 容器中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45751331/

相关文章:

安卓 native 代码安全

uWSGI下的Python创建权限错误的文件和目录

python - 将 sudo 标志传递到 makefile

linux - Bash目录内容之间的递归相似性

json - 使用 bash 脚本从 API 保存 JSON

bash - 使用 64 位 DES 和 openssl 进行加密

linux - 如何在 Docker 中处理对/dev/(u)random 等的请求?

permissions - 在 Actions on Google 中获取用户 ID

javascript - "Failed to load resource: the server responded with a status of 404" express docker

ssl - 拉取存储库时出现 X509 解析错误, 'negative serial number'