本文整理匯總了Golang中github.com/fsouza/go-dockerclient.CommitContainerOptions類的典型用法代碼示例。如果您正苦於以下問題:Golang CommitContainerOptions類的具體用法?Golang CommitContainerOptions怎麽用?Golang CommitContainerOptions使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了CommitContainerOptions類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: CommitContainer
// CommitContainer commits a container to an image with a specific tag.
// The new image ID is returned
func (d *stiDocker) CommitContainer(opts CommitContainerOptions) (string, error) {
repository, tag := docker.ParseRepositoryTag(opts.Repository)
dockerOpts := docker.CommitContainerOptions{
Container: opts.ContainerID,
Repository: repository,
Tag: tag,
}
if opts.Command != nil || opts.Entrypoint != nil {
config := docker.Config{
Cmd: opts.Command,
Entrypoint: opts.Entrypoint,
Env: opts.Env,
Labels: opts.Labels,
User: opts.User,
}
dockerOpts.Run = &config
glog.V(2).Infof("Committing container with dockerOpts: %+v, config: %+v", dockerOpts, config)
}
image, err := d.client.CommitContainer(dockerOpts)
if err == nil && image != nil {
return image.ID, nil
}
return "", err
}
示例2: Commit
func (client *FSouza_InstanceClient) Commit(logger log.Log, tag string, message string) bool {
id := client.instance.MachineName()
config := client.settings.Config
repo := client.settings.Repository
author := client.settings.Author
if repo == "" {
repo, _ = client.GetImageName()
}
options := docker.CommitContainerOptions{
Container: id,
Repository: repo,
Tag: tag,
Run: &config,
}
if message != "" {
options.Message = message
}
if author != "" {
author = client.conf.Author
}
_, err := client.backend.CommitContainer(options)
if err != nil {
logger.Warning("Failed to commit container changes to an image [" + client.instance.Id() + ":" + id + "] : " + tag)
return false
} else {
client.backend.Refresh(true, false)
logger.Message("Committed container changes to an image [" + client.instance.Id() + ":" + id + "] : " + tag)
return true
}
}