1.docker容器与宿主机网络环境隔离
容器应用连接数据库也应选择容器,否则用localhost会报错access denied
docker inspect查看容器IPAddress将应用中的DBhost改为相应值
2.mariadb bash 中文乱码,显示为??
show variables like 'char%';
show variables like 'collation%';
可以直接修改值如:
SET collation_connection = 'utf8mb4_general_ci';
但想永久生效得改配置文件my.conf
首先安装个编辑器,这里我选择vim
apt-get update
apt-get install vim
然后进入mariadb的bash终端,
docker exec -it mariadb /bin/bash
vim /etc/mysql/my.cnf
按 i
进入插入模式。
- 定位到需要修改的位置,进行修改。
- 按
Esc
退出插入模式。 - 输入
:wq
并按Enter
保存并退出。
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set =utf8
然后重启容器确保配置生效
docker restart mariadb
可以看到更正了字符集