繁体   English   中英

在docker容器中运行mysql服务器和phpmyadmin

[英]running mysql server and phpmyadmin in docker containers

我为MySQL server启动了一个docker容器

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

我可以在http://localhost:8080上看到phpmyadmin ,但是我无法使用任何一个登录

root --- passwordadmin --- password

myphpadmin登录

$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

我究竟做错了什么?

使用myadmin代替mysql

docker run --name myadmin -d --link mysql_db_server:myadmin -p 8080:80 phpmyadmin/phpmyadmin

使用您的用户登录到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参考手册》上阅读有关首选身份验证插件的更多信息。

https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password

它将与docker以及docker-compose完美配合:

现在,您可以使用root&PASS登录到http:// localhost:8080上的phpMyAdmin。

(不要使用端口8080,因为当系统已经使用8080端口的其他进程时,它可能会出现问题。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM