go创建mango容器时报错

go创建mango容器时报错

老师,在用go创建mango容器时,这个函数增加了一个参数:*v1.Platform func (*client.Client).ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *v1.Platform, containerName string) (container.ContainerCreateCreatedBody, error)

这个参数我无论输入nil还是配置一些操作系统参数,

&v1.Platform{

Architecture: "ppc64",

OS:           "linux",

}

程序创建容器时还是报错

panic: Error response from daemon: invalid reference format


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
ccmouse 2021-05-19 16:02:24

这个参数是可以填null的,这个invalid reference format像是什么地方拼错了。你能不能写一个可以重现的完整代码贴出来看一下。

  • 提问者 慕斯5126188 #1

    老师,代码如下:

    package main


    import (

    "context"


    "github.com/docker/docker/api/types"

    "github.com/docker/docker/api/types/container"

    "github.com/docker/docker/client"

    "github.com/docker/go-connections/nat"

    )


    func main() {

        ​c, err := client.NewEnvClient()

        ​if err != nil {

        ​    ​panic(err)

        ​}


    ctx := context.Background()


    resp, err := c.ContainerCreate(ctx, &container.Config{

        ​Image: "mongo:4.4",

        ​ExposedPorts: nat.PortSet{

        ​    ​"27017/tcp": {},

        ​},

    }, &container.HostConfig{

        ​    ​PortBindings: nat.PortMap{

        ​    ​    ​"27017/tcp": []nat.PortBinding{

        ​    ​    ​    ​{

        ​    ​    ​    ​    ​HostIP:   "127.0.0.1",

        ​    ​    ​    ​    ​HostPort: "0",

        ​    ​        ​​},

        ​    ​},

    },

    }, nil, nil, "")

    if err != nil {

        ​panic(err)

    }


    err = c.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{})

        ​if err != nil {

        ​    ​panic(err)

        ​}

    }


    这个代码运行后报

    panic: Error response from daemon: No such image: mongo:4.4 goroutine 1 [running]:

    main.main() /Users/liangyanhong/src/coolcar/server/cmd/docker/main.go:36 +0x3f3

    Process exiting with code: 2 signal: false



    2021-05-19 21:16:11
  • ccmouse 回复 提问者 慕斯5126188 #2

    不好意思回复晚了,这个回复的通知比较容易漏掉。我们需要先拉取mongo:4.4镜像。可以使用docker pull mongo:4.4,也可以使用代码,调用ImagePull函数。

    2021-06-13 12:30:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师