gpt4 book ai didi

docker - 如何使用Docker-Compose文件运行Phpmyadmin,Mysql和Apache Tomcat?

转载 作者:行者123 更新时间:2023-12-02 19:28:21 24 4
gpt4 key购买 nike

我正在尝试运行Java Web应用程序。因此,我必须设置MySQL,phpmyadmin和Apache Tomcat才能访问网站。我想使用docker及其docker-compose应用程序来简化安装(如果可以的话)。

我无法将mysqlphpmyadmin应用程序设置为可一起使用。如果我可以跳过第一步,那么我将尝试安装tomcat

这是我使用的代码(docker-compose.yml)

version: '2'
services:
db:
image: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: admin
MYSQL_PASSWORD: 12345
MYSQL_ROOT_PASSWORD: root
phpmyadmin:
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
MYSQL_USER: admin
MYSQL_PASSWORD: 12345
MYSQL_ROOT_PASSWORD: root
depends_on:
- db
links:
- db

我在命令行应用程序中使用 docker-compose up打开以上代码。

我要进入 http://localhost:8080/页面,我输入 admin作为用户名, 12345作为密码。

我得到的错误是:
Cannot log in to MySQL server
mysqli_real_connect (): The server requested authentication method
mysqli_real_connect (): (HY000 / 2054): The server requested authentication method

如何使用 mysql安装应用程序( phpmyadmintomcatdocker-compose)?

最佳答案

目前phpmyadmin和MySQL可以一起使用。解决了。

计划A:
这是我的docker-compose.yml文件:

version: '2'
services:
db:
container_name: db
image: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: admin
MYSQL_PASSWORD: 12345
MYSQL_ROOT_PASSWORD: root
command: --default-authentication-plugin=mysql_native_password
phpmyadmin:
depends_on:
- db
container_name: phpmyadmin
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
MYSQL_USER: admin
MYSQL_PASSWORD: 12345
MYSQL_ROOT_PASSWORD: root
PMA_HOST: db

现在,您可以通过 MySQLphpmyadmin进入 http://localhost:8080
也可以通过此方法解决。

方案B:这是我的 docker-compose.yml文件:
version: '2'
services:
db:
container_name: db
image: mysql
restart: always
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: myDb
MYSQL_USER: admin
MYSQL_PASSWORD: 12345
MYSQL_ROOT_PASSWORD: root
phpmyadmin:
depends_on:
- db
container_name: phpmyadmin
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
MYSQL_USER: admin
MYSQL_PASSWORD: 12345
MYSQL_ROOT_PASSWORD: root
PMA_HOST: db

命令行命令:
$ docker stop phpmyadmin
$ docker exec -it db bash
$ mysql -u root -proot
$ ALTER USER root IDENTIFIED WITH mysql_native_password BY 'root';
$ exit
$ exit
$ docker start phpmyadmin

现在,您可以通过 MySQLphpmyadmin进入 http://localhost:8080
引用: phpMyAdmin on MySQL 8.0

关于docker - 如何使用Docker-Compose文件运行Phpmyadmin,Mysql和Apache Tomcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54053150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com