Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan kata laluan dengan imej docker postgres rasmi?
Cuba gunakan imej docker postgres rasmi:
docker run --rm -d \ --name my-postgres \ --network my-network \ -e POSTGRES_USER=postgres \ -e POSTGRES_PASSWORD=mysuperduperlongpwstring \ -e POSTGRES_DB=postgres \ -v /path/to/postgres/data/:/var/lib/postgresql/data postgres
Namun, apabila membuat sambungan postgres menggunakan Go,
psqlInfo := fmt.Sprintf( "host=%s port=%s user=%s password=%s dbname=%s sslmode=%s", os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_NAME"), os.Getenv("DB_SSL_MODE"), ) db, err := sql.Open("postgres", psqlInfo) if err != nil { panic(err) }
Saya selalu berakhir dengan
panic: pq: 用户“postgres”的密码验证失败
Saya tidak mempunyai cara lain untuk mengesahkan mysuperduperlongpwstring
:
psql -U postgres -d postgres --password
untuk menyambung ke pangkalan data dari dalam bekas docker dan berikan apa sahaja kerana kata laluan akan berjaya. 错误:必须是超级用户才能更改复制角色或更改复制属性
Yang berkata, pada dasarnya jawapan berikut tidak lagi berfungsi untuk saya:
Disebabkan kekurangan sumber, saya menukar mysuperduperlongpwstring
beberapa kali apabila memulakan docker dan menukar Go PW saya dengan sewajarnya, tetapi berakhir dengan kegagalan yang sama setiap kali.
Apakah masalahnya dan bagaimana untuk menyelesaikannya? Bagaimana untuk menetapkan semula kata laluan menggunakan docker postgres rasmi?
Dalam bekas Docker, tetapkan perkara yang anda tunjukkan dan mulakan dengan kelantangan kosong, "postgres" akan menjadi pengguna super supaya anda tidak akan mendapat ralat tentang keperluan untuk menjadi pengguna super.
Satu-satunya penjelasan yang munasabah yang saya lihat untuk bahagian ini ialah sama ada anda tidak menjalankan psql di mana anda fikir anda berada, atau anda tidak bermula dengan volum kosong, jadi arahan docker run
anda hanya memulakan pangkalan data sedia ada, jadi anda " - e POSTGRES*" konfigurasi semua diabaikan. Jadi dalam apa jua cara, anda sama ada tidak disambungkan seperti yang anda fikirkan, atau ia tidak dikonfigurasikan seperti yang anda fikirkan.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kata laluan dengan imej docker postgres rasmi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!