这几天使用docker-compose部署zabbix监控系统,部署完发现部署上去的服务死活连不上
先上配置:
zabbix_mysql: image: mysql hostname: zabbix_mysql container_name: zabbix_mysql # docker安全验证 security_opt: - seccomp:unconfined ports: - 3305:3305 expose: - 3305 command: --character-set-server=utf8 restart: always environment: - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root volumes: - /etc/localtime:/etc/localtime -t - ./zabbix/mysql/data:/var/lib/mysql networks: default: ipv4_address: 172.88.88.9
上面是zabbix的mysql数据库dockercompose配置,部署完使用外网Dbeaver连接,却发现死活连不上,一直返回connect refused。
原因是docker-compose的端口映射问题,3305(对外暴露的端口):3305(容器内部的服务端口),然后mysql默认端口是3306,volumes里面却没有配置自定义mysql配置地点,容器使用默认的3306端口,这导致映射不一样而反问不到;
解决:
3305:3306