关于centos启动mariadb和testlink容器遇到的坑

启动testlink容器后,会自动退出,logs内容:ERROR 1044 (42000): Access denied for user ‘bn_testlink’@’%’ to database ‘bitnami_testlink’

使用的mariadb容器启动命令

docker run -d --name=mariadb -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=bn_testlink -e MARIADB_PASSWORD=bn_testlink -e MARIADB_DATABASE=bitnami_testlink --net testlink -v /root/mariadb:/bitnami --user root bitnami/mariadb:10.3.22

使用的testlink容器启动命令

docker run -d -p 8080:80 -p 443:443 --name=testlink -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_PASSWORD=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --net testlink -v /root/testlink:/bitnami bitnami/testlink:1.9.20

查看testlink容器logs日志内容

[root@iZ2ze2mtnzbxrpznzspetrZ ~]# docker logs 8e522621b854

Welcome to the Bitnami testlink container
Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-testlink
Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-testlink/issues

nami    INFO  Initializing php
nami    INFO  php successfully initialized
nami    INFO  Initializing apache
nami    INFO  apache successfully initialized
nami    INFO  Initializing mysql-client
nami    INFO  mysql-client successfully initialized
nami    INFO  Initializing testlink
mysql-c INFO  Trying to connect to MySQL server
mysql-c INFO  Found MySQL server listening at mariadb:3306
mysql-c INFO  MySQL server listening and working at mariadb:3306
testlin INFO  Preparing PHP environment...
Error executing 'postInstallation': MySQL command failed to run. Error: 
 ERROR 1044 (42000): Access denied for user 'bn_testlink'@'%' to database 'bitnami_testlink'

后来尝试使用root用户和mariadb密码启动testlink容器后,还是一会儿就退出了,logs提示:

testlin INFO  Preparing PHP environment...
Error executing 'postInstallation': MySQL command failed to run. Error: 
 ERROR 1049 (42000): Unknown database 'bitnami_testlink'

第一个是数据库的账号密码错误,所以你要看你的-e参数后面的账号密码是否真的正确;
第二个他还是数据库的问题,root账户没有那个数据库 :crazy_face:

这两条命令一样,是贴错了吗

是的是的,已改,嘿嘿

运行mariadb

docker run -d --name mariadb -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=bn_testlink -e MARIADB_PASSWORD=bn_testlink -e MARIADB_DATABASE=bitnami_testlink --net testlink -v ${PWD}/mariadb:/bitnami bitnami/mariadb:10.3.22

运行testlink

docker run -d -p 8080:8080 -p 8443:8443 --name testlink -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_PASSWORD=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --net testlink -v ${PWD}/testlink:/bitnami bitnami/testlink:1.9.20
默认用户名:user,默认密码:bitnami。

好的,用这两条命令执行是可以的。我再研究研究,谢谢

最后可成功执行的语句:

docker run -d --name mariadb -p 3306:3306 --user root -e MARIADB_ROOT_PASSWORD=mariadb -e MARIADB_USER=bn_testlink -e MARIADB_PASSWORD=bn_testlink -e MARIADB_DATABASE=bitnami_testlink --net testlink -v /root/mariadb:/bitnami bitnami/mariadb:10.3.22
docker run -d -p 80:80 -p 443:443 --name testlink -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_PASSWORD=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --net testlink -v /root/testlink:/bitnami bitnami/testlink:1.9.20