本に従って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」を読んで、また見に来る予定ですこの問題では。
回答者様に感謝します。
PHP中文网2017-05-16 13:19:18
docker 内のプログラムはホストのサービスにアクセスできません。また、docker を使用して mongodb を実行し、次に link コマンドを使用して 2 つのコンテナーをリンクする必要があります
巴扎黑2017-05-16 13:19:18
問題はリンクがリンクされているかどうかとは関係ありません
Docker は 127.0.0.1 を使用してホスト サービスにアクセスできません。192.168.x.x などの外部 IP を使用する必要があります。