在jenkins中,docker-compose mysql 0mERROR 1396(HY000)在第一行:操作CREATE USER失败了'root'@'%'
我有一个docker-compose.yml,它设置了一个API服务,一个testingMYSQL数据库和一个java任务工作者应用程序。 然后我对本地堆栈运行API集成testing。 每次运行它时,我都会执行docker-compose rm -v
来确保我的数据库对于每次testing都是一样的。
在本地,我的docker-compose文件正确设置了我的图像。
在jenkins,使用相同的docker-compose文件,我得到了上面的错误,在这里复制:
0mERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
它似乎可能会与图像的主机名进行。
这是我的数据库设置的Dockerfile:
FROM mysql ENV MYSQL_DATABASE="db_name" ENV MYSQL_USER="user" ENV MYSQL_PASSWORD="password1" ENV MYSQL_ROOT_PASSWORD="password" COPY *.sql /docker-entrypoint-initdb.d/ EXPOSE 3306
这是我的docker-compose.yml:
web-api: image: registry/api-repo links: - test-db ports: - "8625:8625" environment: - MYSQL_DATABASE=db_name - MYSQL_HOST=test-db - MYSQL_USER=user - MYSQL_PASSWORD=password1 custodial-java: image: registry/java-repo links: - test-db environment: - MYSQL_DATABASE=db_name - MYSQL_HOST=test-db - MYSQL_USER=user - MYSQL_PASSWORD=password1 test-db: image: registry/test-db ports: - "3306:3306"
我很可能在我的Jenkinsconfiguration中丢失了某些东西,但我不确定在哪里寻找。
事实certificate,jenkins的Docker版本与我的本地机器不一样。 在我的本地机器上,我使用的是Docker 17.03,而Jenkins框运行的是Docker Toolbox 1.5。
更新生成机器使用最新的docker工具箱(1.12我相信),我不再会得到这个错误,我的自动化testingfunction!
- Docker – Rails应用程序无法连接到链接的Postgres容器(似乎没有运行)
- 在Docker中运行的GitLab Docker Registry
- docker不连接容器
- 与Jenkins运行Docker容器
- docker:无法连接到docker守护进程在http + docker:// localunixsocket – 它运行?
- 那么`docker-compose up`怎么会抛出一个错误,docker run`能stream利地运行
- 目的地主机无法到达时使用docker覆盖networking中的领事进行容器之间的通信
- Docker:缩放Python容器,内存开销
- Docker图像caching失效何时发生?