docker 组成:
mysql:
image: mysql:5.7.16
container_name: f_mysql
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: sheep
expose:
- '3306'
我使用
docker exec
输入这个容器,然后我输入
echo $MYSQL_ROOT_PASSWORD
,然后我得到了 sheep
,但是mysql root密码仍然是'',
当我输入'mysql -uroot'时,我登录了mysql。
最佳答案
您需要修复 docker-compose 文件:
environment:
- MYSQL_ROOT_PASSWORD=sheep
以下是实现您想要的完整 docker-compose:version: '2'
services:
mysql:
image: mysql:5.7.16
container_name: f_mysql
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=sheep
expose:
- '3306'
然后用 docker exec -it f_mysql /bin/bash
和容器内 mysql -u root -p
,使用sheep作为密码,将是连接mysql服务器的唯一途径。
关于 docker ,MYSQL_ROOT_PASSWORD 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40149880/