호스트에서 실행되고 도커 컨테이너를 생성 / 시작 / 중지하는 스크립트가 있습니다. 컨테이너 내에서 루트 사용자의 비밀번호를 변경하는 스크립트를 원합니다.
컨테이너는 ssh 서버이므로 다음을 시도했습니다.
sshpass -p 'OLDPASS' ssh root@<container-IP> 'echo -e "NEWPASS\nNEWPASS" | passwd root'
그러나 작동하지 않습니다. 계속 진행하고 디버깅에 더 많은 시간을 소비하기 전에 더 똑똑한 방법이 있는지 알고 싶습니다.
올바른 "도커 방식"은 Dockerfile에 의해 실행되는 스크립트를 만드는 것입니다.이 스크립트는 공유 볼륨에서 비밀번호를 가져와 루트 비밀번호로 설정합니다. 이것은 복잡하게 들리지만 사용 방법을 알고 사용중인 다른 도커 이미지에 잘 작동합니다. 그러나 나는 이것을 위해 그것을하고 싶지 않습니다.
Docker 또는 ssh를 사용하여 비 대화식으로 사용자 비밀번호를 변경하는 명령이 필요합니다.