質問 Docker でローカル データベースにアクセスするにはどうすればよいでしょうか? 127.0.0.1 は Docker コンテナ内のコンテナ自体を参照するため、使用は絶対にできません。したがって、他のチャネルを通じて問題を解決する必要があります。 解決 オペレーティングシステムの種類に応じて、次のいずれかの方法を選択できます。 Dockerファイル: /sbin/ip route|awk '/default/ { print $3,"\tdockerhost" }' を実行 >> /etc/hosts ランタイム: (使用しない場合があります) docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [私のコンテナ] (便利) docker run --add-host=dockerhost:`docker network inspect --format='{{range .IPAM.Config}}{{.Gateway}}{{end}}' bridge` [画像] Docker for Mac (17.12+): docker.for.mac.ホスト内部 MONGO_SERVER = docker.for.mac.host.internal #docker-compose.yml バージョン: '3' サービス: API: ビルド: ./api ボリューム: - ./api:/usr/src/app:ro ポート: - 「8000」 環境: - モンゴサーバー コマンド: /usr/local/bin/gunicorn -c /usr/src/app/gunicorn_config.py -w 1 -b :8000 wsgi リナックス 解決策1 /sbin/ip route|awk '/default/ { print $3 }' docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` [私のコンテナ] # 解決策 2 -e "DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')" 原理 原理を理解するには、コンピュータ ネットワークのモデルと Docker によって実装されるモデルを理解する必要があります。実際、Docker 内には仮想ブリッジ docker0 が実装されています。コンテナ内の外部ホストにアクセスするには、ブリッジ内の外部ホストの仮想アドレス、つまり docker.for.mac.host.internal が必要です。興味があれば、Docker のネットワーク原則、コンピュータ ネットワーク原則、および docker compose について学習できます。 参照 [1].(stackoverflow)dockerの親ホストのIPをコンテナのホストファイルに挿入する [2].(stackoverflow)dockerコンテナ内からdockerホストのIPアドレスを取得する方法 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. 複雑なSQLクエリ1.1. 単一テーブルクエリ(1)指定の列を選択する[例] 全生徒の生徒ID...
最近、PHP で Web ページを書いているときに、エンコードを UTF-8 に設定しました。しかし...
1. MySQL での or 構文の使用、および MySQL 構文で or を使用する際の注意点。 ...
MySQL 8 の新機能: MySQL をバージョン 5.x から 8.x に直接アップグレードする...
序文これまでインターネットでMySQLジョイントインデックスの最左接頭辞マッチングに関する記事をたく...
1. アクセス頻度、同時接続、ダウンロード速度を制限するために使用されるモジュールと命令の概要ngx...
序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...
この記事は主に、初心者に XHTML の基本的な知識と、XHTML と HTML の違いを理解しても...
非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...
目次目的モジュールのインストール基本的な使い方ポートをスキャンする開いているポートデータの送信データ...
目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...
Docker は多くのスペースを占有します。コンテナを実行したり、イメージを取得したり、アプリケー...
目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...
CSS画像結合技術1. 画像のステッチ画像ステッチング技術は、個々の画像を収集する技術です。画像の多...
Vue バス メカニズム (バス) vuex を使用するだけでなく、vue 内の親子以外のコンポーネ...