我对Docker很新,我遇到了一个问题。我试图做的基本事情是将java服务连接到mysql数据库。
设置是我有一个Dockerfile用于服务,另一个用于mysql。然后我通过docker-compose文件连接它们。
数据库的Dockerfile将数据库转储复制到容器中,但是当我在mysql workbench(或sequel pro)中检查它时,它无法正常工作。两个容器都已启动并运行。
我在工作台中使用正确的密码创建了一个名为dbuser的新用户。但是,此用户未被授予创建此数据库的权限。
我之前在workbench中遇到过密码问题,并通过将mysql映像从:latest更改为:5.7来传递它们。
我可以在Workbench中连接到localhost:3307,但那里没有数据库。
转储授予对我的dbuser的所有访问权限。我检查了容器和图像,所以我知道转储在那里。但似乎Docker从来没有达到运行转储的程度,我怀疑这是由于我做错了。
非常感谢所有帮助!
db的Dockerfile
FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD=root
ENV MYSQL_ALLOW_SECRET_PASSWORD=yes
COPY Dump20180430.sql /docker-entrypoint-initdb.d

搬运工-撰写
version: '3.4'
services:
productservicejava:
image: productservicejava
build:
context: .
dockerfile: Dockerfile
depends_on:
- db
ports:
- "8080:8080"
db:
image: productservicedb
build:
context: .
dockerfile: DockerfileDb
ports:
- "3307:3306"

编辑:从运行数据库容器中添加部分日志。没有错误,只有一些警告。
db_1 | 2018-05-24T12:13:38.522966Z 0 [Warning] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
db_1 | 2018-05-24T12:13:38.524314Z 0 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.524363Z 0 [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.524377Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.524412Z 0 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.524419Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.524432Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.527659Z 0 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.
db_1 | 2018-05-24T12:13:38.527679Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.