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

File not found in Docker Container using GitLab-CI

使用 GitLab-CI,我试图将一个秘密变量回显到 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"