npm 인증 자동갱신 스크립트 공유 (permission에 대한 오류 발생시)
안녕하세요,
회사에 자그마하게 헤놀로지를 구성하여 사용하고 있습니다.
용도는 홈페이지 몇 개를 담고 있고, 공용 저장소로 운영하고 있습니다.
구성할 때 이 곳 도움을 많이 받았어서 혹시 저 같은 어려움 겪고 있으신 분들이 있을까 몇 자 남겨봅니다.
제어판에서 작업 스케줄러를 통해 npm의 인증을 자동갱신하고자 했습니다.
그런데 포럼에서 배운 스크립트를 제가 잘못 넣었는지 실행 시키면 항상 아래와 같은 오류가 발생하더라고요.
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/npm/json": dial unix /var/run/docker.sock: connect: permission denied
제가 넣었었던 스크립트는 다음과 같습니다.
docker exec -i npm certbot renew --force-renew && docker restart npm
그래서 ssh로 접속해서 해당하는 곳에 권한을 주고 실행시켜야만 스크립트가 정상작동을 하였었는데요.
이 권한을 주는 것까지 스크립트에 넣어서 원래 추구하던 완전자동화를 이루고자 했습니다.
대신 이 과정에서 password를 입력해야 하기 때문에 앞에 echo 를 사용하여 password를 저장했다 불러오는 방식을 택했습니다.
그래서 최종 스크립트는 다음과 같습니다.
echo '계정password' | sudo -S chmod 666 /var/run/docker.sock
docker exec -i npm certbot renew --force-renew && docker restart npm
계정password와 권한을 주어야 하는 곳과 npm 컨테이너 이름만 잘 넣어주시면 해결이 될 듯 합니다.
혹시 제 방법이 잘못되었거나 중복글이라면 말씀해주세요.
더 좋은 해결방법도 환영입니다. 많이 배우고 싶습니다.
읽어주셔서 감사합니다~
자동 계신으로 바뀌었다고 들어서요..
자동 갱신이 안되면 하는건가요?
저같은경우 따로 작업하지않고 썼었습니다
답변 감사드립니다~!
cmt alert