用docker安裝mysql,啟動容器後,mysql沒有啟動
世界只因有你
世界只因有你 2017-05-24 11:35:50
0
2
1084

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、容器啟動

#3、用attach進入容器後沒有看到mysql的進程

#
世界只因有你
世界只因有你

全部回覆(2)
仅有的幸福

1.不建議直接掛載文件,通常都是掛載文件夾

2.進去容器後,手動執行指令 docker-entrypoint.sh ,看看輸出什麼錯誤訊息

某草草

1.表示你mysql沒有啟動,因為你後面的/bin/bash已經暴露問題了。

2.試試這樣啟動

$docker run -d mysql
$docker exec -it $container_id /bin/bash

問題的原因,可以看看官方對CMD 和 entrypoint指令得描述,你就懂了。

如下是我測試效果

#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:~$
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!