2017-08-18 5 views
1

GitLab-CIを使用して、Dockerコンテナ内のファイルに秘密変数をエコーし​​ようとしています。ファイルが存在し、ユーザーがファイルに書き込む権限を持っていますが、No such file or directoryエラーが発生します。Docker ContainerでGitLab-CIを使用しているファイルが見つかりません

$ /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 
+0

uは、完全なエコーが引用符でリダイレクトので、「エコー$ KUBE_ADMIN_ACCOUNT>は/ opt囲んで試してみてくださいuはconatiner – utkarsh31

+1

までに使用方dockerfileやYAMLファイルをアップロードしてくださいすることができます/application/conf/kubeadminaccount.yml " –

+0

実行中に更新するのではなく、コンテナを作成する方法を更新します –

答えて

1

リダイレクション演算子がホスト上で動作していて、コンテナ内で動作していません。

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

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

以下の変更

+0

複合値のために変数の周りに' \ "を追加しなければなりませんでした –

+0

はい値に新しい行がある場合に必要ですが、今休むことはあなたのために機能しますか? –

+0

はい。ありがとうございました! –

関連する問題