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

时间:2017-08-18 07:50:59

标签: bash docker permissions echo 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

1 个答案:

答案 0 :(得分:1)

您的重定向操作符正在处理主机而不是容器内部。改为

$ /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"