使用 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/