docker问题

哎码 发布于 2017/07/27 23:17
阅读 139
收藏 1

最近在鼓捣docker,做了一个测试项目,整个项目采用docker化,其中主应用share-qrcode依赖activemq/redis/mysql,主应用使用了springboot,现在出现了这个错误:

这个IP不知道是什么,项目中没有配置过这个IP,估计是docker内部的虚拟网络吧,所以请大家帮忙看一下错在哪里?

先发一下docker-compose.yml:

version: "2"
services:
  share-qrcode:
    image: share-qrcode
    container_name: share-qrcode
    hostname: share-qrcode
    ports:
      - "8080:8080"
    links:
      - activemq
      - redis
      - mysql
    volumes:
      - "/root/ShareQrCode/images:/root/ShareQrCode/images"
    networks:
      - qrcode-net
  activemq:
    image: docker.io/webcenter/activemq
    container_name: amq-master
    hostname: activemq
    networks:
      - qrcode-net
  redis:
    image: docker.io/redis
    container_name: redis-master
    hostname: redis
    networks:
      - qrcode-net
  mysql: # master
#    build: ./mysql/db/master # ./master文件下需要有Dockerfile文件,并且build属性和image属性不能一起使用
    image: mysql:5.7.17
    container_name: mysql-master # 容器名
    hostname: mysql
    volumes: # 挂载 下边每行前边的`-`代表这个东西是数组的一个元素.就是说volumes属性的值是一个数组
      - /root/mysql/data:/var/lib/mysql # mysql数据文件位置
    ports:
      - "3306:3306"
    ulimits: # 操作系统限制
      nproc: 65535
    mem_limit: 1024m # 最大内存使用不超过1024m,我在本地机器上测试,才只写了1024m,生产上需要根据自己的服务器配置,以及docker容器数进行调优.
    restart: always # 容器重启策略
    environment:
      MYSQL_ROOT_PASSWORD: root
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb_flush_log_at_trx_commit=2
    networks:
      - qrcode-net
networks:
  qrcode-net:
    driver: bridge

再来一个配置文件:

db.username=root
db.password=root
db.url=jdbc:mysql://mysql:3306/share-qrcode?useUnicode=true&characterEncoding=utf8&useSSL=false&autoReconnect=true
db.driver=com.mysql.jdbc.Driver
mq.url=tcp://activemq:61616
mq.username=admin
mq.password=admin
config.port=8080
config.image.url=/root/ShareQrCode/images/
redis.host=redis
redis.password=

docker ps:

加载中
1
OSC首席键客
OSC首席键客

这个不是密码错误吗?

哎码
哎码
多谢了,原来是docker中不允许外部访问的原因,学到了
哎码
哎码
可是我docker exec -it mysql-master bash进入mysql容器中,然后登陆mysql,密码确实是root啊
0
Me5
Me5

请问是怎样解决的

哎码
哎码
把mysql的外部访问开开就好了
返回顶部
顶部