2016-09-01 5 views
1

ドッカーハブのphp7とmysqlを使用したシンプルなドッカーセットアップがあります。設定はこれまでのところOKですが、すべてが起動し、私のアプリケーションにアクセスできます。しかし、私は私のために働くためにMySQLの接続を取得することはできません。私はボックスにログインしてdbにアクセスしようとしましたが、失敗します。誰も考えられない?ドッカーのmysqlイメージを使用しようとしましたが、ユーザー/パスワードが正しく動作しません。

ドッキングウィンドウ-compose.yml

db: 
    restart: always 
    image: mysql/mysql-server:5.7 
    ports: 
    - "3306:3306" 
    environment: 
    MYSQL_ROOT_PASSWORD: root 
    MYSQL_USER: myapp 
    MYSQL_PASSWORD: myapp 
    MYSQL_DATABASE: myapp 
web: 
    restart: always 
    image: silintl/php7 
    command: php -S 0.0.0.0:8000 -t /app/web 
    links: 
    - db 
    ports: 
    - "8000:8000" 
    volumes: 
    - ../:/app 

DBにアクセスしようとしている
[bash][email protected] ~ $ docker exec -it docker_db_1 bash 

[[email protected] /]# mysql --user=myapp --password=myapp --host=localhost --port=3306 myapp 
mysql: [Warning] Using a password on the command line interface can be insecure. 

ERROR 1045 (28000): Access denied for user 'myapp'@'localhost' (using password: YES) 
[[email protected] /]# 

私はここで何をしないのですか?

編集:私のGitHubのレポを見てください、これは私が使用しています正確に設定されて:あなたはwrong syntaxを使用しているようhttps://github.com/firegate666/docker-php7-mysql-postgres

+0

通常のデバッグなどを経験しましたか?あなたはrootとして接続できますか?また、いくつかの詳細なガイドライン(https://hub.docker.com/_/mysql/)があります。*「MySQL初期化が完了するまで*接続がありません」*と「*データベース* "のいずれかがシステムに影響を与える可能性があるためです。 –

+0

はい、それを試しましたが、ルートも接続されていないので、私はmysql initにしばらくお待ちしていますが、まだ接続できず、新しいデータベースです – firegate666

+0

OK、それは便利です。また、ドッカーのコンテナログに手掛かりがないかチェックしましたか? –

答えて

0

[OK]を、私は別のマシンを取り、私のセットアップを試してみました、それは箱から出して働いた:次のようになります。どういうわけかわからないのですが、問題は明らかに私のマシンです:-)

0

は思えます。

version: '2' 
services: 
    db: 
    restart: always 
    image: mysql/mysql-server:5.7 
    ports: 
     - "3306:3306" 
    environment: 
    MYSQL_ROOT_PASSWORD: "root" 
    MYSQL_USER: "myapp" 
    MYSQL_PASSWORD: "myapp" 
    MYSQL_DATABASE: "myapp" 
    # ... 
+0

ドキュメントには、いずれかの構文が正しいことが示唆されています(コロンまたは等号を使用)。両方の例を示し、明示的に「*配列か辞書のどちらかを使うことができます」と言います。 –

+0

はい、文字列を使用する必要があります。私はあなたのソリューションを試して、それは "無効なタイプ、それは文字列でなければなりません"を生成します。 – n2o

+0

私はそれを変更したが、それは 環境助けにはならない: - MYSQL_ROOT_PASSWORD =ルート - MYSQL_USER = myappに - MYSQL_PASSWORD = myappに - MYSQL_DATABASE = myappに ERROR 1045(28000):アクセスがユーザー 'myappに' を拒否されました@[ルート@ 7eff3007bb11 /]# – firegate666

関連する問題