5

コンテナーをセットアップする dockerfile からのイメージがありますが、docker REST API でコンテナーを作成して開始する必要があります。問題は、ssh ポートの公開に問題があることです。dockerfile から EXPOSE を削除し、イメージをビルドしました。

その後、この json を使用して /containers/create で POST リクエストを作成しました。

{"Image":"frantiseks/apac","ExposedPorts":{"22/tcp":{}},"Memory":600000,"CpuShares":50}

コンテナーが正常に作成されたので、次のステップとして、JSONを使用したこのPOST要求 でコンテナーを開始しました。/containers/$id/start

{"PortBindings": { "22/tcp": [{ "HostPort": "11022" }] }}

しかし、コンテナーを検査した後、マップされたポートが表示されないため、コンテナーはホスト 11022 ポートに 22 を公開しません。バージョン 0.7.1 を使用しています。

誰かが私が間違っていることを教えてもらえますか? ありがとう

PS: 検査済みコンテナー: http://jsonblob.com/52b01e45e4b0439bc58ec8d4

4

2 に答える 2

1

(回答が遅れたことをお詫びします。「コミュニティ」があなたの質問をぶつけることにしました)

現在の1.24 apiでは、これはすべてコンテナーの作成で行われます。そこに以下を含める必要があります。

   "HostConfig": {
     "PortBindings": { "22/tcp": [{ "HostPort": "11022" }] },
   }
于 2016-10-16T13:57:24.743 に答える
0

試しましたか: {HostIp:"", HostPort:"11022"}?

于 2014-06-26T08:40:20.823 に答える