Skip to content

Commit

Permalink
Merge pull request docker#9523 from laurazard/add-links-container-create
Browse files Browse the repository at this point in the history
Add links to container create request.
  • Loading branch information
glours committed Jun 2, 2022
2 parents e90c6ba + 81182fc commit c64dbbc
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
6 changes: 6 additions & 0 deletions pkg/compose/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,11 @@ func (s *composeService) getCreateOptions(ctx context.Context, p *types.Project,
volumesFrom = append(volumesFrom, v[len("container:"):])
}

links, err := s.getLinks(ctx, p.Name, service, number)
if err != nil {
return nil, nil, nil, err
}

securityOpts, err := parseSecurityOpts(p, service.SecurityOpt)
if err != nil {
return nil, nil, nil, err
Expand Down Expand Up @@ -389,6 +394,7 @@ func (s *composeService) getCreateOptions(ctx context.Context, p *types.Project,
Runtime: service.Runtime,
LogConfig: logConfig,
GroupAdd: service.GroupAdd,
Links: links,
}

return &containerConfig, &hostConfig, networkConfig, nil
Expand Down
9 changes: 9 additions & 0 deletions pkg/e2e/fixtures/network-links/compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
services:
container1:
image: nginx
network_mode: bridge
container2:
image: nginx
network_mode: bridge
links:
- container1
21 changes: 20 additions & 1 deletion pkg/e2e/networks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func TestNetworks(t *testing.T) {
})
}

func TestNetworkAliassesAndLinks(t *testing.T) {
func TestNetworkAliasses(t *testing.T) {
c := NewParallelE2eCLI(t, binDir)

const projectName = "network_alias_e2e"
Expand All @@ -93,6 +93,25 @@ func TestNetworkAliassesAndLinks(t *testing.T) {
})
}

func TestNetworkLinks(t *testing.T) {
c := NewParallelE2eCLI(t, binDir)

const projectName = "network_link_e2e"

t.Run("up", func(t *testing.T) {
c.RunDockerComposeCmd("-f", "./fixtures/network-links/compose.yaml", "--project-name", projectName, "up", "-d")
})

t.Run("curl links in default bridge network", func(t *testing.T) {
res := c.RunDockerComposeCmd("-f", "./fixtures/network-links/compose.yaml", "--project-name", projectName, "exec", "-T", "container2", "curl", "http://container1/")
assert.Assert(t, strings.Contains(res.Stdout(), "Welcome to nginx!"), res.Stdout())
})

t.Run("down", func(t *testing.T) {
_ = c.RunDockerComposeCmd("--project-name", projectName, "down")
})
}

func TestIPAMConfig(t *testing.T) {
c := NewParallelE2eCLI(t, binDir)

Expand Down

0 comments on commit c64dbbc

Please sign in to comment.