Saya memiliki skrip yang berjalan pada host dan membuat / memulai / menghentikan wadah buruh pelabuhan. Saya ingin skrip mengubah kata sandi pengguna root di dalam wadah.
Karena wadah adalah server ssh, saya mencoba:
sshpass -p 'OLDPASS' ssh root@<container-IP> 'echo -e "NEWPASS\nNEWPASS" | passwd root'
tetapi tidak berhasil. Sebelum melanjutkan dan menghabiskan lebih banyak waktu untuk debugging, saya ingin tahu apakah ada cara yang lebih cerdas untuk melakukannya.
Saya mengerti bahwa "cara buruh pelabuhan" yang tepat adalah membuat skrip yang dijalankan oleh Dockerfile, yang menarik kata sandi dari volume bersama dan menjadikannya sebagai kata sandi root. Ini terdengar rumit, tapi saya tahu bagaimana melakukannya dan bekerja dengan baik untuk gambar buruh pelabuhan lain yang saya gunakan. Tetapi saya tidak ingin melakukannya untuk yang satu ini.
Saya hanya perlu perintah yang menggunakan Docker atau ssh untuk mengubah kata sandi pengguna secara non-interaktif.