[Docker][MariaDB] hostname problem in docker mariadb container
docker hostname problem
When I create a container from mariadb image, setting hostname
in docker run...
prevents root account
to login.
docker run (has problem)
docker run ...docker run --detach \
--name app-db \
...skip ...
--hostname app-db-host \
mariadb:10.6
--hostname
specified
Then, diving into the container using docker exec...
BASH$ docker exec -it app-db bash
root@app-db-host:/#
When trying to log in mysql, valid username and password is not working because current hostname is not localhost, but app-db-host
.
BASHroot@app-db-host:/# mysql -uroot -p
Enter password: (here valid password input)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
localhost
is required, butapp-db-host
docker run with MARIADB_ROOT_HOST
If --hostname
is specified in docker run...
, this value should be specified to mariadb environment variable, too.
docker run ...docker run --detach \
--name app-db \
--hostname app-db-host \
--env MARIADB_ROOT_HOST=app-db-host \
mariadb:10.6
- custom hostname
app-db-host
to root hostname in mariadb container
It creates a row in table user
like this.
TXTMariaDB [mysql]> select Host, User from user;
+-------------+-------------+
| Host | User |
+-------------+-------------+
| % | appuser |
| localhost | mariadb.sys |
| localhost | root |
| app-db-host | root |
+-------------+-------------+