5

こんにちは、docker 用のパブリックな alpine mysql イメージがあります。 https://hub.docker.com/r/wangxian/alpine-mysql/

その中でmysqlを実行したかったのです。

mysqlコマンドの後にdocker runコマンドを実行すると、次のエラーが発生します。

docker run -i -t wangxian/alpine-mysql sh
/app # mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory")

それでは、すべてを最初からインストールしました。alpine の新しいイメージを作成してから、これらをインストールしました。

apt add mysql mysql-client

そして、もう一度入力mysqlして同じエラーが発生しました。これは一般的なエラーのように見えます。これは alpine の新規インストールであるため、すべての alpine イメージで発生します。

解決策はありますか?

編集: docker run -i -t wangxian/alpine-mysql を実行すると

2016-08-17 12:51:41 140215609339688 [Note] Plugin 'FEEDBACK' is disabled.
2016-08-17 12:51:41 140215609339688 [Note] Server socket created on IP: '::'.
2016-08-17 12:51:41 140215609339688 [Note] /usr/bin/mysqld: ready for connections.
Version: '10.1.11-MariaDB-log'  socket: '/run/mysqld/mysqld.sock'  port: 3306  MariaDB Server

そして、そのタブを開いたままコマンドラインで新しいタブを開くと、同じエラーが再び発生します。

docker run -i -t wangxian/alpine-mysql sh
/app # mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory")
4

1 に答える 1

1

それは、あなたが使用した画像が実際にどのように機能するかではありません。Docker Hub ページで、実行方法を確認できます。実行時に「sh」コマンドを渡したときに呼び出されない起動スクリプトがあるため、mysql は実行されていません。コマンドなしでイメージを実行すると、mysql が起動し、ユーザー名/パスワードの初期値が設定されます。次に、docker exec を使用して実行中のコンテナーに入るか、他のコンテナーをそれにリンクすることができます。

于 2016-08-17T12:49:52.137 に答える