我为MySQL server
docker run --detach --name=mysql_db_server --env="MYSQL_ROOT_PASSWORD=password" mysql
然后我运行phpmyadmin
的另一个容器,该容器链接到MySQL server
,如下所示
docker run --name myadmin -d --link mysql_db_server:mysql -p 8080:80 phpmyadmin/phpmyadmin
我可以在phpmyadmin
上看到http://localhost:8080
,但我无法使用
root
--- password
或
admin
--- password
$docker ps -a
输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85e68b8bab30 phpmyadmin/phpmyadmin "/run.sh phpmyadmin" 3 hours ago Up 3 hours 0.0.0.0:8080->80/tcp myadmin
b4d130cdb230 mysql "docker-entrypoint.s…" 3 hours ago Up 3 hours 3306/tcp mysql_db_server
我做错了什么?
答案 0 :(得分:1)
使用myadmin而不是mysql
docker run --name myadmin -d --link mysql_db_server:myadmin -p 8080:80 phpmyadmin/phpmyadmin
答案 1 :(得分:0)
使用您的用户登录到MySQL控制台:
为此运行命令- docker exec -it app_db_1 / bin / bash
现在您可以使用您的用户登录MYSQL控制台:
root @ 5f1d313df243:/#mysql -uroot -ppassword 并在此处使用密码更改身份验证插件:
mysql>通过“ PASS”用mysql_native_password更改用户根目录;
您将获得类似以下的输出-查询正常,受影响的0行(0.08秒)
退出
退出
在MySQL 8.0参考手册上阅读有关首选身份验证插件的更多信息
它将与docker以及docker-compose完美配合:
现在您可以使用root和PASS在http://localhost:8080上登录phpMyAdmin。
(不要使用端口8080,因为当系统已经使用8080端口的其他进程时,它可能会出现问题。)