下記のドッカーコマンドを実行したい docker run ajaycs14/hello-world -p 1527:80 -d
dockerを実行するにはGo Sdkを使用してドッカーを実行しますか?
上記の達成方法Docker Go SDK?
画像を実行するためのサンプルコードは以下の通りです。正式な文書では、以下のコードを変更してポートとデタッチモードなどのオプションを取る方法を教えてください。上記のコマンド(docker run ajaycs14/hello-world -p 1527:80 -d
)三番目のパラメータは、あなたが使用する必要があるHostConfigContainerCreate
方法で
package main
import (
"fmt"
"io"
"os"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/client"
"golang.org/x/net/context"
)
func main() {
ctx := context.Background()
cli, err := client.NewEnvClient()
if err != nil {
panic(err)
}
imageName := "bfirsh/reticulate-splines"
out, err := cli.ImagePull(ctx, imageName, types.ImagePullOptions{})
if err != nil {
panic(err)
}
io.Copy(os.Stdout, out)
resp, err := cli.ContainerCreate(ctx, &container.Config{
Image: imageName,
}, nil, nil, "")
if err != nil {
panic(err)
}
if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
panic(err)
}
fmt.Println(resp.ID)
}
はい、コンテナはデーモンモードで起動される。ここ
は実施例です。サンプルコードを提供すると役に立ちます。 – irobo
'RESP、ERR = cli.ContainerCreate(CTX、&container.Config { イメージ:imagenameの、 }、&container.HostConfig { \t PortBindings:{ "9300:80"}、 }、ゼロ、 "") もしエラーが発生した場合は、エラーが発生しましたか? パニック(エラー) } '私はこれを試していますが、動作していません。 – irobo
私は答えを更新しました。 –