2017-05-13 15 views
1
나는 VM의 파일 /etc/docker/daemon.json을 만들

은 위의docker-machine VM 내의 파일을 작성하면 권한이 거부됩니까?

docker-machine ssh manager1 "sudo echo \"{ \"insecure-registries\":[\"192.168.100.99:5000\"] }\" >| /etc/docker/daemon.json" 

다음 메시지

sh: can't create /etc/docker/daemon.json: Permission denied

실패로에 SSHing에 의해 고정 표시기 기계를 사용하여 만든

비대화 형 bash 스크립트에 위와 같이 입력해야하기 때문에 위의 방법을 시도한 것과 비슷한 결과를 얻을 수 있습니까?

+0

컨테이너의 UID와 GID를 살펴보면 흥미 롭다는 것을 알 수 있습니다 ... 나는 쉘 스크립트를 추가하여 파일을 만들었습니다. www 데이터 사용자. 그러나 나는이 "해결책"에 만족하지 않는다. – n2o

+0

자신 만의 수정으로 boot2docker 사용자 정의 iso를 만들 수 있습니다 ... 어쩌면 이것은 쇠망 치는 소리와 함께 너트를 깨는 것과 같습니다 ...하지만 작동합니다. – OscarAkaElvis

+0

두 가지 제안에 감사드립니다. 아래의 BMitch의 답변이 효과가 있습니다! – Harindaka

답변

0

명령은 echo를 루트로 실행하지만 출력은 사용자로 실행중인 쉘 리디렉션에 의해 처리됩니다. sudo를 실행 티 대신 배관의 다음 사용을 시도해보십시오

docker-machine ssh manager1 "echo \"{ \\\"insecure-registries\\\":[\\\"192.168.100.99:5000\\\"] }\" \ 
    | sudo tee /etc/docker/daemon.json" 

참고 또한 그렇지 않으면 따옴표 쉘/에코 명령이 먹히지, 당신의 에코 한 번 더 내부의 따옴표를 탈출했다.


이 특정 사용 케이스를 위해, 나는 당신의 기계를 만드는 것을 권 해드립니다 :

docker machine create --engine-insecure-registry 192.168.100.99:5000 ... 

을 미래에.

+0

고마워요! 두 가지 솔루션 모두 작동합니다. 나는 당신이 제안한대로이 특별한 사용 사례를위한 더 좋은 방법 인 것처럼 보이는 것처럼 후자와 함께 갔다. – Harindaka