2017-03-08 4 views
1

APIサービスをセットアップするdocker-compose.yml、テストMYSQLデータベース、およびjavaタスクワーカーアプリです。次に、ローカルスタックに対してAPI統合テストを実行します。私がそれを実行するたびに、docker-compose rm -vを実行して、各テスト実行でDBが同じであることを確認します。jockkinsでは、行1のmysql 0mERROR 1396(HY000)の操作を作成します。操作は 'root' @ '%'の操作に失敗しました

ローカルでは、私のドッカーの作成ファイルが正しく画像を設定します。ジェンキンスで

は、同じドッキングウィンドウ・コンファイルを使用して、私はここにコピーされ、上記のエラーを取得:

0mERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'

何かは、画像のホスト名で起こってされる可能性があります表示されます。

は、ここに私のDBのセットアップのために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 

は私のドッキングウィンドウ-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" 

私はおそらく私のジェンキンスの設定で何かをしないのですが、私はよく分かりませんどこを見るか。

+0

重複したhttp://stackoverflow.com/questions/5555328/error-1396-hy000-operation-create-user-failed-for-jacklocalhost?rq=1? – user2915097

+0

いいえ、この問題は、Dockerのニュアンスがミックスに追加されています –

答えて

0

明らかに、JockkinsのDockerのバージョンはローカルマシンと同じではありませんでした。私のローカルマシンでは、Docker 17.03を使用していましたが、JenkinsボックスはDocker Toolbox 1.5を実行していました。

最新のドッカーツールボックス(1.12)を使用するようにビルドマシンを更新した後、私はもはやこのエラーとオートメーションテスト機能を取得しません!

関連する問題