所以我正忙着使用http://godoc.org/github.com/samalba/dockerclient
使用CreateContainer(http://godoc.org/github.com/samalba/dockerclient#DockerClient.CreateContainer)
设置新容器
containerConfig := &dockerclient.ContainerConfig{
Image: imageName,
AttachStdin: true,
AttachStdout: true,
AttachStderr: true}
containerID, err = docker.CreateContainer(containerConfig, containerName)
正常工作,我得到一个容器,但没有暴露的端口。查看docker API(https://docs.docker.com/reference/api/docker_remote_api_v1.15/),我需要设置
" ExposedPorts - 将端口映射到空对象的对象,格式为:" ExposedPorts":{" /:{}" }"
查看我正在使用的Go dockclient lib的godoc,我看到你可以将它传递给
ExposedPorts map[string]struct{}
但我不知道该怎么做,从docker api示例传递:
"ExposedPorts":{
"22/tcp": {}
}
就足够了,那么如何在我的containerConfig中执行struct位?
答案 0 :(得分:2)
将它放在你的containerConfig
中ExposedPorts: map[string]struct{}{
"22/tcp": {},
}
例如
containerConfig := &dockerclient.ContainerConfig{
Image: imageName,
AttachStdin: true,
AttachStdout: true,
AttachStderr: true,
ExposedPorts: map[string]struct{}{
"22/tcp": {},
},
}