MySQL に接続する NodeJS バックエンド サーバーを作成しました。 Docker を使用して、次のコマンドを使用して、nodeJS および package.json ファイル (MySQL を含む) を実行するイメージを作成しました。これが私のDockerfileです:
リーリーNodeJS を使用して MySQL への接続を作成するための別のファイルがあります:
リーリーDocker を実行しようとしました (docker run -p 3000:3000 help:help) が、次のエラーが発生しました (解決方法がわかりません。助けてください!!):
ああああ
マルチコンテナ環境では、Docker コンテナ内に複数のネットワークがあり、各コンテナには独自のネットワーク名前空間があります。他の Docker コンテナにアクセスする必要がある場合、Docker でのネットワークはサービス名を通じて行われます。 docker-compose 設定では、サービスの名前を参照します。通常の Docker コンテナを使用する場合は、少し難しくなります。必要がある###
Docker ネットワークの作成-
docker ネットワークは、awesomeNetwork を作成します
最初のコンテナをネットワークに追加します-
docker ネットワーク接続ノードバックエンド AwesomeNetwork
2 番目のコンテナをネットワークに追加します-
docker ネットワーク接続データベース AwesomeNetwork
これで、それぞれdb/nodebackend
という名前を使用して、コンテナ ネットワーク内の別のコンテナを参照できるようになります。
開発/ローカルの
docker-compose
環境では、
docker-composeを使用し、compose マニフェストを作成することを強くお勧めします。その後、ネットワークは毎回自動的に作成されるため、作成する必要はありません。セットアップは次のようになります
リーリーこれで、ホスト名
db
を使用してノード アプリケーションで
dbに接続できるようになりました。 リーリー