本文整理匯總了Golang中github.com/aws/aws-sdk-go/service/ecs.ContainerDefinition.User方法的典型用法代碼示例。如果您正苦於以下問題:Golang ContainerDefinition.User方法的具體用法?Golang ContainerDefinition.User怎麽用?Golang ContainerDefinition.User使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/aws/aws-sdk-go/service/ecs.ContainerDefinition
的用法示例。
在下文中一共展示了ContainerDefinition.User方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: convertToContainerDef
// convertToContainerDef transforms each service in the compose yml
// to an equivalent container definition
func convertToContainerDef(inputCfg *libcompose.ServiceConfig,
volumes map[string]string, outputContDef *ecs.ContainerDefinition) error {
// setting memory
var mem int64
if inputCfg.MemLimit != 0 {
mem = inputCfg.MemLimit / kiB / kiB // convert bytes to MiB
}
if mem == 0 {
mem = defaultMemLimit
}
// convert environment variables
// TODO, read env file
environment := []*ecs.KeyValuePair{}
for _, env := range inputCfg.Environment.Slice() {
parts := strings.SplitN(env, "=", 2)
name := &parts[0]
var value *string
if len(parts) > 1 {
value = &parts[1]
}
environment = append(environment, &ecs.KeyValuePair{
Name: name,
Value: value,
})
}
// convert port mappings
portMappings, err := convertToPortMappings(*outputContDef.Name, inputCfg.Ports)
if err != nil {
return err
}
// convert volumes from
volumesFrom := []*ecs.VolumeFrom{}
for _, val := range inputCfg.VolumesFrom {
volumeFrom := &ecs.VolumeFrom{
SourceContainer: aws.String(val),
}
volumesFrom = append(volumesFrom, volumeFrom)
}
// convert mount points
mountPoints, err := convertToMountPoints(inputCfg.Volumes, volumes)
if err != nil {
return err
}
// convert extra hosts
extraHosts, err := convertToExtraHosts(inputCfg.ExtraHosts)
if err != nil {
return err
}
// convert log configuration
var logConfig *ecs.LogConfiguration
if inputCfg.LogDriver != "" {
logConfig = &ecs.LogConfiguration{
LogDriver: aws.String(inputCfg.LogDriver),
Options: aws.StringMap(inputCfg.LogOpt),
}
}
// convert ulimits
ulimits, err := convertToULimits(inputCfg.ULimits)
if err != nil {
return err
}
// populating container definition, offloading the validation to aws-sdk
outputContDef.Cpu = aws.Int64(inputCfg.CpuShares)
outputContDef.Command = aws.StringSlice(inputCfg.Command.Slice())
outputContDef.DnsSearchDomains = aws.StringSlice(inputCfg.DNSSearch.Slice())
outputContDef.DnsServers = aws.StringSlice(inputCfg.DNS.Slice())
outputContDef.DockerLabels = aws.StringMap(inputCfg.Labels.MapParts())
outputContDef.DockerSecurityOptions = aws.StringSlice(inputCfg.SecurityOpt)
outputContDef.EntryPoint = aws.StringSlice(inputCfg.Entrypoint.Slice())
outputContDef.Environment = environment
outputContDef.ExtraHosts = extraHosts
if inputCfg.Hostname != "" {
outputContDef.Hostname = aws.String(inputCfg.Hostname)
}
outputContDef.Image = aws.String(inputCfg.Image)
outputContDef.Links = aws.StringSlice(inputCfg.Links.Slice()) //TODO, read from external links
outputContDef.LogConfiguration = logConfig
outputContDef.Memory = aws.Int64(mem)
outputContDef.MountPoints = mountPoints
outputContDef.Privileged = aws.Bool(inputCfg.Privileged)
outputContDef.PortMappings = portMappings
outputContDef.ReadonlyRootFilesystem = aws.Bool(inputCfg.ReadOnly)
outputContDef.Ulimits = ulimits
if inputCfg.User != "" {
outputContDef.User = aws.String(inputCfg.User)
}
outputContDef.VolumesFrom = volumesFrom
if inputCfg.WorkingDir != "" {
outputContDef.WorkingDirectory = aws.String(inputCfg.WorkingDir)
}
//.........這裏部分代碼省略.........
示例2: convertToContainerDef
// convertToContainerDef transforms each service in the compose yml
// to an equivalent container definition
func convertToContainerDef(context *project.Context, inputCfg *config.ServiceConfig,
volumes map[string]string, outputContDef *ecs.ContainerDefinition) error {
// setting memory
var mem int64
if inputCfg.MemLimit != 0 {
mem = int64(inputCfg.MemLimit) / kiB / kiB // convert bytes to MiB
}
if mem == 0 {
mem = defaultMemLimit
}
// convert environment variables
environment := convertToKeyValuePairs(context, inputCfg.Environment, *outputContDef.Name)
// convert port mappings
portMappings, err := convertToPortMappings(*outputContDef.Name, inputCfg.Ports)
if err != nil {
return err
}
// convert volumes from
volumesFrom, err := convertToVolumesFrom(inputCfg.VolumesFrom)
if err != nil {
return err
}
// convert mount points
mountPoints, err := convertToMountPoints(inputCfg.Volumes, volumes)
if err != nil {
return err
}
// convert extra hosts
extraHosts, err := convertToExtraHosts(inputCfg.ExtraHosts)
if err != nil {
return err
}
// convert log configuration
var logConfig *ecs.LogConfiguration
if inputCfg.Logging.Driver != "" {
logConfig = &ecs.LogConfiguration{
LogDriver: aws.String(inputCfg.Logging.Driver),
Options: aws.StringMap(inputCfg.Logging.Options),
}
}
// convert ulimits
ulimits, err := convertToULimits(inputCfg.Ulimits)
if err != nil {
return err
}
// populating container definition, offloading the validation to aws-sdk
outputContDef.Cpu = aws.Int64(int64(inputCfg.CPUShares))
outputContDef.Command = aws.StringSlice(inputCfg.Command)
outputContDef.DnsSearchDomains = aws.StringSlice(inputCfg.DNSSearch)
outputContDef.DnsServers = aws.StringSlice(inputCfg.DNS)
outputContDef.DockerLabels = aws.StringMap(inputCfg.Labels)
outputContDef.DockerSecurityOptions = aws.StringSlice(inputCfg.SecurityOpt)
outputContDef.EntryPoint = aws.StringSlice(inputCfg.Entrypoint)
outputContDef.Environment = environment
outputContDef.ExtraHosts = extraHosts
if inputCfg.Hostname != "" {
outputContDef.Hostname = aws.String(inputCfg.Hostname)
}
outputContDef.Image = aws.String(inputCfg.Image)
outputContDef.Links = aws.StringSlice(inputCfg.Links) //TODO, read from external links
outputContDef.LogConfiguration = logConfig
outputContDef.Memory = aws.Int64(mem)
outputContDef.MountPoints = mountPoints
outputContDef.Privileged = aws.Bool(inputCfg.Privileged)
outputContDef.PortMappings = portMappings
outputContDef.ReadonlyRootFilesystem = aws.Bool(inputCfg.ReadOnly)
outputContDef.Ulimits = ulimits
if inputCfg.User != "" {
outputContDef.User = aws.String(inputCfg.User)
}
outputContDef.VolumesFrom = volumesFrom
if inputCfg.WorkingDir != "" {
outputContDef.WorkingDirectory = aws.String(inputCfg.WorkingDir)
}
return nil
}