[解決済み] Docker MySQLコンテナにlocalhostから接続しますか?
質問
dockerのmysqlイメージが動いていて、docker-compose.ymlファイルが以下のような感じです。
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: ""
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- "3306:3306"
これは問題なく動作します。
私の質問は、ホスト (私の macbook) 上のコマンドライン mysql クライアントから、そのコンテナ上で実行されている MySQL インスタンスに接続するにはどうしたらよいかということです。
明確にするために
- 私は Docker をインストールした macbook を持っています。
- mysqlがインストールされたDockerコンテナを持っている
- Macbook の Terminal から、前述のコンテナ上で動作している mysql インスタンスに接続したいのですが。
-
私は
docker
コマンドを使いたくありません。むしろ、私が使いたいのはmysql
クライアントをターミナルから直接使用したいのです (docker コンテナを経由してトンネルを掘ることなく)。
ローカルでMySQLを動かしていないので、ポート3306は開いていて使えるはずです。
コンテナを起動するのに使っているコマンドは
docker-compose run
どのように解決するのですか?
使用方法
docker-compose up
あなたが公開したポート
3306
を公開しました。
ドッカーホスト
に接続し、そのホスト自身から
127.0.0.1:3306
.
使用方法
docker-compose run
その場合、ポートマッピングセクションの
docker-compose.yml
ファイルのポートマッピングセクションは無視されます。ポートマッピングセクションを考慮させるためには、ポートマッピングセクションに
--service-ports
オプションを追加する必要があります。
docker-compose run --service-ports db
補足説明
デフォルトでは、mysql クライアントは、接続先として
localhost
. そのため
127.0.0.1
でなく
localhost
:
$ mysql -h 127.0.0.1 -P 3306 -u root
MySQLモニターへようこそ。 コマンドは ; または \g で終わります。 あなたのMySQL接続IDは1です。 サーバーバージョン: 5.6.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle および/またはその関連会社. すべての著作権を保有します。
Oracleは、Oracle Corporationおよび/またはその関連会社の登録商標です。 関連会社の登録商標です。その他の名称は、それぞれの所有者の商標である可能性があります。 所有者の商標である場合があります。
help;'または' \h' と入力するとヘルプが表示されます。現在の入力文をクリアするには'˶‾‾‾'˶‾‾‾'˶‾‾‾'と入力してください。
mysql>
$ mysql -h localhost -P 3306 -u root
<ブロッククオート
エラー 2002 (hy000)。ソケット '/var/run/mysqld/mysqld.sock' を介してローカルのMySQLサーバーに接続できません (2)。
関連
-
[解決済み] SQLを使用してSUMとSUBTRACTを行うには?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] ライブDockerコンテナでポートを公開する
-
[解決済み】Dockerは仮想マシンとどう違うの?
-
[解決済み】Dockerコンテナからホストポートにアクセスする方法
-
[解決済み】Docker ComposeはYを起動する前にコンテナXを待ちます。
-
[解決済み】docker-composeからdockerに接続できない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのNULLについて解説した記事
-
面接では選択式で聞かれましたが......。.for updateはテーブルをロックするか、行をロックするか?
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
Mysql がエラー 1241 を報告 オペランドは 1 つのカラムを含む必要があります。
-
Unknown character set.を解決する。MySQLデータベースインポート時の'utf8mb4'エラーの解消
-
Mysqlの使用中に発生したエラーの一部
-
[解決済み] mysqladminのフラッシュホストでブロックを解除する方法
-
[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新