最近在尝试使用docker部署项目,照着例子编写了docker-compose.yml,配置如下
version: '3.8'
services:
mzd:
build: .
image: mzd
depends_on:
- redis
- m_mysql
ports:
- "8000:8000"
redis:
image: "library/redis:alpine"
m_mysql:
image: "docker.io/mysql:5.7"
ports:
- "3306:3306"
container_name: mmysql
volumes:
- /data/mysql/data:/var/lib/mysql
- /home/mysql/init:/docker-entrypoint-initdb.d
environment:
MYSQL_DATABASE: eladmin
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
restart: always
数据库连接配置如下
spring:
datasource:
druid:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://mmysql:3306/eladmin?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
username: root
password: root
执行
docker-compose up
出现报错,提示连接不上MySQL服务
在修改docker容器的dns,重装docker等诸多操作后,均未能解决。
无奈之下换了台阿里云的服务器,居然部署成功了。
阿里云的是centos7,而本地的虚拟机是centos8,在本地新建了个centos7的服务器也顺利部署。
总结
在centos8上用docker时碰到了大大小小不少问题,还是不要尝鲜的好。