1panel运行在Docker容器里面,已安装mariadb
正常使用,但商店里面的 DataEase、Metabase 都只能使用 Mysql ,尝试在面板里多安装一个Mysql 8 。
安装完成后,数据库管理里面 和 应用商店里使用Mysql都提示报错:
服务内部错误: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
查看1panel所在的Docker容器,里面不存在 /var/run/mysqld/mysqld.sock 这个文件,尝试过将Mysql里面的 /var/run/mysqld/mysqld.sock 映射到 1Panel 容器里面,依旧报这个错
mysql 8 运行在 3308 端口,使用客户端可用正常连接
1panel Docker compose
version: '3'
services:
1panel:
container_name: 1panel # 容器名
restart: always
network_mode: "host"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /srv/dev-disk-by-label-file/docker/:/var/lib/docker/
- /var/lib/containerd:/var/lib/containerd
- ./opt:/opt # 文件存储映射
- /root:/root # 可选的文件存储映射
- /etc/docker:/etc/docker # docker 配置文件夹映射
- /:/all
- ./run/mysqld:/var/run/mysqld/
environment:
- TZ=Asia/Shanghai # 时区设置
image: moelin/1panel:latest
labels:
createdBy: "Apps"
mysql 的 docker-compose.yml
networks:
1panel-network:
external: true
services:
mysql:
command:
- --mysql-native-password=on
container_name: ${CONTAINER_NAME}
deploy:
resources:
limits:
cpus: ${CPUS}
memory: ${MEMORY_LIMIT}
environment:
MYSQL_ROOT_PASSWORD: ${PANEL_DB_ROOT_PASSWORD}
image: mysql:8.4.4
labels:
createdBy: Apps
networks:
- 1panel-network
ports:
- ${HOST_IP}:${PANEL_APP_PORT_HTTP}:3306
restart: always
volumes:
- ./data/:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
- ./log:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /srv/dev-disk-by-label-file/appdata/1panel/run/mysqld:/var/run/mysqld