簡體   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