1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package docker
- import (
- "github.com/dotcloud/docker/archive"
- "github.com/dotcloud/docker/nat"
- "github.com/dotcloud/docker/pkg/namesgenerator"
- "github.com/dotcloud/docker/runconfig"
- "github.com/dotcloud/docker/utils"
- )
- type Change struct {
- archive.Change
- }
- func migratePortMappings(config *runconfig.Config, hostConfig *runconfig.HostConfig) error {
- if config.PortSpecs != nil {
- ports, bindings, err := nat.ParsePortSpecs(config.PortSpecs)
- if err != nil {
- return err
- }
- config.PortSpecs = nil
- if len(bindings) > 0 {
- if hostConfig == nil {
- hostConfig = &runconfig.HostConfig{}
- }
- hostConfig.PortBindings = bindings
- }
- if config.ExposedPorts == nil {
- config.ExposedPorts = make(nat.PortSet, len(ports))
- }
- for k, v := range ports {
- config.ExposedPorts[k] = v
- }
- }
- return nil
- }
- // Links come in the format of
- // name:alias
- func parseLink(rawLink string) (map[string]string, error) {
- return utils.PartParser("name:alias", rawLink)
- }
- type checker struct {
- runtime *Runtime
- }
- func (c *checker) Exists(name string) bool {
- return c.runtime.containerGraph.Exists("/" + name)
- }
- // Generate a random and unique name
- func generateRandomName(runtime *Runtime) (string, error) {
- return namesgenerator.GenerateRandomName(&checker{runtime})
- }
|