Saya cuba memulakan bekas mysql dalam Docker melalui arahan berikut:
docker run --name some-name -e MYSQL_ROOT_PASSWORD=my-password -e MYSQL_DATABASE=db-name mysql/mysql-server
Ia berjaya menarik bekas, dan apabila ia mencapai garisan ini ia berhenti di situ dan tidak pernah bergerak:
2022-02-28T09:10:03.040757Z 0 [系统] [MY-010931] [服务器] /usr/sbin/mysqld:准备连接。版本:“8.0.28”套接字:“/var/run/mysqld/mysqld.sock”端口:3306 MySQL 社区服务器 - GPL.
Saya cuba menambah bendera ini -h 127.0.0.1
dan masih tersekat pada baris yang sama.
Ini adalah output docker container ls -a
:
70579fec1ed2 mysql“docker-entrypoint.s…”3小时前退出(1)3小时前spawning-pool
Ini adalah baris terakhir keluaran docker logs $(container-name)
:
2022-02-28T10:24:24.316843Z 0 [系统] [MY-010910] [服务器] /usr/sbin/mysqld: 关闭完成 (mysqld 8.0.28) MySQL 社区服务器 - GPL.
Penyelesaian yang saya temui ialah menambah bendera berikut:
-it
并在末尾添加/bin/bash
Jadi penghujung arahan akhir kelihatan seperti ini:
-it -d mysql:mysql-server /bin/bash
Ini akan menjalankan terminal di latar belakang mysql dan menghalangnya daripada ditutup. Cuma saya berharap seseorang boleh membetulkan saya jika ini menyebabkan sebarang ralat pada masa hadapan, kerana terminal bash akan sentiasa berjalan.