検索

ホームページ  >  に質問  >  本文

golang - Go プロジェクトを Docker にデプロイした後、MongoDB に接続できない

本に従ってAPIサーバーを作成しました。プロジェクトは次のとおりです。プロジェクトが開始され、ローカルで実行された後 mongod来启动 MongoDB 是可以连接的。但是当我打包 Server 成 docker 后(docker build -t taskmanager .),并且用容器启动这个 Server(docker run --publish 8080:8080 taskmanager)、以前のようにデータベースに接続する方法がわかりません。 Dockerfileの書き方が間違っているのか、ポートが正しく設定されていないのかわかりませんし、Dockerについてはあまり詳しくありません。

リーリー リーリー

Dockerfile:

リーリー

データベースも Docker でラップする必要がありますか?それとも Docker の起動方法に何か問題があるのでしょうか? Mongodb のポートはデフォルトです 27017,项目如果成功启动打开会显示404。godep restoreプロジェクトの依存関係をインストールできます。


更新:

リーリー

docker build -t taskmanager . ビルド後にリンクを試してください

リーリー

これで起動できるようになりましたが、 localhost:8080プロジェクトが表示されず、サーバーアドレスも見つかりません..
数日以内に「The First Docker Book」を読んで、また見に来る予定ですこの問題では。
回答者様に感謝します。

仅有的幸福仅有的幸福2748日前983

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-05-16 13:19:18

    docker 内のプログラムはホストのサービスにアクセスできません。また、docker を使用して mongodb を実行し、次に link コマンドを使用して 2 つのコンテナーをリンクする必要があります

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:19:18

    問題はリンクがリンクされているかどうかとは関係ありません
    Docker は 127.0.0.1 を使用してホスト サービスにアクセスできません。192.168.x.x などの外部 IP を使用する必要があります。

    返事
    0
  • キャンセル返事