Tôi có một kịch bản chạy trên máy chủ và tạo / bắt đầu / dừng một container docker. Tôi muốn tập lệnh thay đổi mật khẩu của người dùng root trong vùng chứa.
Vì container là một máy chủ ssh, tôi đã thử:
sshpass -p 'OLDPASS' ssh root@<container-IP> 'echo -e "NEWPASS\nNEWPASS" | passwd root'
nhưng nó không hoạt động. Trước khi tiếp tục và dành nhiều thời gian hơn để gỡ lỗi nó, tôi muốn biết liệu có cách nào thông minh hơn để làm điều đó không.
Tôi hiểu rằng "cách thức docker" thích hợp là tạo một tập lệnh được điều hành bởi Dockerfile, nó lấy mật khẩu từ một ổ đĩa chung và đặt nó làm mật khẩu gốc. Điều này nghe có vẻ phức tạp, nhưng tôi biết cách thực hiện và hoạt động tốt cho một hình ảnh docker khác mà tôi sử dụng. Nhưng tôi không muốn làm điều này cho cái này.
Tôi chỉ cần một lệnh sử dụng Docker hoặc ssh để thay đổi mật khẩu của người dùng không tương tác.