Rumah > Soal Jawab > teks badan
1
docker run -it -p 3306:3306 --name mysql1 -v ~/mysql/conf/my.cnf:/etc/mysql/my.cnf -v ~/mysql/logs:/logs -v ~/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql /bin/bash
2. Permulaan kontena
3 Selepas memasuki bekas menggunakan attach, saya tidak melihat proses mysql
仅有的幸福2017-05-24 11:37:50
1. Tidak digalakkan untuk melekapkan fail secara terus, biasanya melekapkan folder
2 Selepas memasukkan bekas, laksanakan arahan docker-entrypoint.sh secara manual dan lihat mesej ralat yang dikeluarkan
某草草2017-05-24 11:37:50
1 Ini bermakna mysql anda belum dimulakan, kerana /bin/bash anda telah mendedahkan masalah tersebut.
2 Cuba mulakan begini
$docker run -d mysql
$docker exec -it $container_id /bin/bash
Anda boleh memahami punca masalah dengan membaca penerangan rasmi CMD dan arahan titik masuk.
Berikut adalah keputusan ujian saya
#1.模拟你得效果,这里不会报错,是因为没有执行mysqld进行初始化,bash已经覆盖了指令
docker@default:~$ docker run -it mysql bash
root@8b767c162afd:/# ps -aux | grep mysql
root 7 0.0 0.0 11128 984 ? S+ 03:04 0:00 grep mysql
#2.报错,因为没有加-e环境参数,说明mysqld执行了初始化,未找到环境变量
docker@default:~$ docker run -d mysql
9212525aedf8f5586548fbc1d1e4fa130fd0ce294ac03c2d00a1c1d9945455a5
docker@default:~$ docker exec -it 92 bash
Error response from daemon: Container 9212525aedf8f5586548fbc1d1e4fa130fd0ce294ac03c2d00a1c1d9945455a5 is not running
mysql-db
docker@default:~$ docker logs 92
error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
docker@default:~$