docker ,MYSQL_ROOT_PASSWORD 不起作用

标签 docker docker-compose

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/

相关文章:

Docker Alpine Latext texmf-dist 样式未找到

ssl - docker SSL 连接错误

docker - .net core docker 镜像,每个客户都有应用程序设置

docker - 恢复使用 docker 的方法(Web 开发)

alfresco - 如何在 Docker 上运行 Alfresco Bundled Installer?

docker - Go 1.14 模块构建命令忽略 Docker 中的 vendor 目录

amazon-web-services - 启动 ec2 服务器时自动启动 docker

symfony - Docker 与 Symfony 4 - 无法看到文件更改

mysql - MySql docker容器,通过终端工作,通过docker-compose否

bash - 如果物理机死机,Docker rm 不会删除我的容器