27629


DockerコンテナのMySQLサーバに同じアクセスできません  
コンテナ上のMySQLに同じホスト上の別のコンテナにあるubuntuからアクセスしようとしていますが、`mysql -u root
-p`と実行して、正しいパスワードを入力しても  
`Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2)`  
というエラーが発生します  
MySQLのイメージはDockerHubから`mysql:latest`でとってきたものです

Docker for Mac Beta 1.12.0-rc3-beta18を使っています

docker-compose_db.yml(dbの部分):

[code]

    
     db:
         build: 
             context: .
                 dockerfile: "mysqlfile"
             environment:
                 - MYSQL_ROOT_PASSWORD=mypassword
             ports:
                 - "3306:3306"
             volumes:
                 - ./mysql:/mysql
    
    
[/code]

mysqlfile (dockerfile)

[code]

    from mysql:latest
    
[/code]


CC BY-SA 3.0
2016-07-14T13:58:56.503
27628
2016-07-14T14:32:09.133
2016-07-14T14:12:12.050
5246
5246
question
mysql docker
Dockerコンテナ上のMySQLサーバーに接続できない


MySQL は `-h` オプションを指定しない限りはローカルホストの MySQL
デーモンに接続しようとします。ホストが同じコンテナであっても、コンテナの中からは別コンテナは別マシンとして認識されます。

質問文の通りの `docker-compose_db.yml` であれば、MySQL クライアントを動かすコンテナでは MySQL サーバは `build`
で名前解決されるはずなので、`mysql -u root -p -h build` のようにして接続できないでしょうか?


CC BY-SA 3.0
2016-07-14T14:32:09.133
27629
2016-07-14T14:32:09.133
13623
27628
answer