diff --git a/components/engine/Dockerfile.aarch64 b/components/engine/Dockerfile.aarch64 index 58ca40d878..fde0c706fb 100644 --- a/components/engine/Dockerfile.aarch64 +++ b/components/engine/Dockerfile.aarch64 @@ -15,7 +15,7 @@ # the case. Therefore, you don't have to disable it anymore. # -FROM arm64v8/debian:stretch +FROM debian:stretch # allow replacing httpredir or deb mirror ARG APT_MIRROR=deb.debian.org @@ -142,10 +142,10 @@ RUN ln -sv $PWD/contrib/completion/bash/docker /etc/bash_completion.d/docker # Get useful and necessary Hub images so we can "docker load" locally instead of pulling COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \ - aarch64/buildpack-deps:jessie@sha256:107f4a96837ed89c493fc205cd28508ed0b6b680b4bf3e514e9f0fa0f6667b77 \ - aarch64/busybox:latest@sha256:5a06b8b2fdf22dd1f4085c6c3efd23ee99af01b2d668d286bc4be6d8baa10efb \ - aarch64/debian:jessie@sha256:e6f90b568631705bd5cb27490977378ba762792b38d47c91c4da7a539f63079a \ - aarch64/hello-world:latest@sha256:bd1722550b97668b23ede297abf824d4855f4d9f600dab7b4db1a963dae7ec9e + buildpack-deps:jessie@sha256:dd86dced7c9cd2a724e779730f0a53f93b7ef42228d4344b25ce9a42a1486251 \ + busybox:latest@sha256:bbc3a03235220b170ba48a157dd097dd1379299370e1ed99ce976df0355d24f0 \ + debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \ + hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c # See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list) # Install tomlv, vndr, runc, containerd, tini, docker-proxy diff --git a/components/engine/docs/contributing/set-up-dev-env.md b/components/engine/docs/contributing/set-up-dev-env.md index c2c8389a28..b4cacf529e 100644 --- a/components/engine/docs/contributing/set-up-dev-env.md +++ b/components/engine/docs/contributing/set-up-dev-env.md @@ -186,13 +186,65 @@ can take over 15 minutes to complete. hack/make.sh binary install-binary run ``` -9. Inside your container, check your Docker version. +9. Inside your container, check your Docker versions: ```none - root@5f8630b873fe:/go/src/github.com/docker/docker# docker --version - Docker version 1.12.0-dev, build 6e728fb + # docker version + Client: + Version: 17.06.0-ce + API version: 1.30 + Go version: go1.8.3 + Git commit: 02c1d87 + Built: Fri Jun 23 21:15:15 2017 + OS/Arch: linux/amd64 + + Server: + Version: dev + API version: 1.35 (minimum version 1.12) + Go version: go1.9.2 + Git commit: 4aa6362da + Built: Sat Dec 2 05:22:42 2017 + OS/Arch: linux/amd64 + Experimental: false ``` + Notice the split versions between client and server, which might be + unexpected. In more recent times the Docker CLI component (which provides the + `docker` command) has split out from the Moby project and is now maintained in: + + * [docker/cli](https://github.com/docker/cli) - The Docker CLI source-code; + * [docker/docker-ce](https://github.com/docker/docker-ce) - The Docker CE + edition project, which assembles engine, CLI and other components. + + The Moby project now defaults to a [fixed + version](https://github.com/docker/docker-ce/commits/v17.06.0-ce) of the + `docker` CLI for integration tests. + + You may have noticed the following message when starting the container with the `shell` command: + + ```none + Makefile:123: The docker client CLI has moved to github.com/docker/cli. For a dev-test cycle involving the CLI, run: + DOCKER_CLI_PATH=/host/path/to/cli/binary make shell + then change the cli and compile into a binary at the same location. + ``` + + By setting `DOCKER_CLI_PATH` you can supply a newer `docker` CLI to the + server development container for testing and for `integration-cli` + test-execution: + + ```none + make DOCKER_CLI_PATH=/home/ubuntu/git/docker-ce/components/packaging/static/build/linux/docker/docker BIND_DIR=. shell + ... + # which docker + /usr/local/cli/docker + # docker --version + Docker version 17.09.0-dev, build + ``` + + This Docker CLI should be built from the [docker-ce + project](https://github.com/docker/docker-ce) and needs to be a Linux + binary. + Inside the container you are running a development version. This is the version on the current branch. It reflects the value of the `VERSION` file at the root of your `docker-fork` repository. diff --git a/components/engine/hack/dockerfile/binaries-commits b/components/engine/hack/dockerfile/binaries-commits index abe8bfe587..3b520828e3 100644 --- a/components/engine/hack/dockerfile/binaries-commits +++ b/components/engine/hack/dockerfile/binaries-commits @@ -4,7 +4,7 @@ TOMLV_COMMIT=9baf8a8a9f2ed20a8e54160840c492f937eeaf9a # When updating RUNC_COMMIT, also update runc in vendor.conf accordingly RUNC_COMMIT=b2567b37d7b75eb4cf325b77297b140ea686ce8f -CONTAINERD_COMMIT=v1.0.0 +CONTAINERD_COMMIT=89623f28b87a6004d4b785663257362d1658a729 # v1.0.0 TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574 LIBNETWORK_COMMIT=7b2b1feb1de4817d522cc372af149ff48d25028e VNDR_COMMIT=a6e196d8b4b0cbbdc29aebdb20c59ac6926bb384 diff --git a/components/engine/integration-cli/docker_api_info_test.go b/components/engine/integration-cli/docker_api_info_test.go index 60ca4b928f..e7d77f0985 100644 --- a/components/engine/integration-cli/docker_api_info_test.go +++ b/components/engine/integration-cli/docker_api_info_test.go @@ -1,13 +1,10 @@ package main import ( - "encoding/json" "net/http" "fmt" - "github.com/docker/docker/api/types" - "github.com/docker/docker/client" "github.com/docker/docker/integration-cli/checker" "github.com/docker/docker/integration-cli/request" @@ -48,25 +45,6 @@ func (s *DockerSuite) TestInfoAPI(c *check.C) { } } -// TestInfoAPIRuncCommit tests that dockerd is able to obtain RunC version -// information, and that the version matches the expected version -func (s *DockerSuite) TestInfoAPIRuncCommit(c *check.C) { - testRequires(c, DaemonIsLinux) // Windows does not have RunC version information - - res, body, err := request.Get("/v1.30/info") - c.Assert(res.StatusCode, checker.Equals, http.StatusOK) - c.Assert(err, checker.IsNil) - - b, err := request.ReadBody(body) - c.Assert(err, checker.IsNil) - - var i types.Info - - c.Assert(json.Unmarshal(b, &i), checker.IsNil) - c.Assert(i.RuncCommit.ID, checker.Not(checker.Equals), "N/A") - c.Assert(i.RuncCommit.ID, checker.Equals, i.RuncCommit.Expected) -} - func (s *DockerSuite) TestInfoAPIVersioned(c *check.C) { testRequires(c, DaemonIsLinux) // Windows only supports 1.25 or later diff --git a/components/engine/integration/system/info_linux_test.go b/components/engine/integration/system/info_linux_test.go new file mode 100644 index 0000000000..bea14eaddd --- /dev/null +++ b/components/engine/integration/system/info_linux_test.go @@ -0,0 +1,34 @@ +// +build !windows + +package system + +import ( + "testing" + + "github.com/docker/docker/integration/util/request" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "golang.org/x/net/context" +) + +func TestInfo_BinaryCommits(t *testing.T) { + client := request.NewAPIClient(t) + + info, err := client.Info(context.Background()) + require.NoError(t, err) + + assert.NotNil(t, info.ContainerdCommit) + assert.NotEqual(t, "N/A", info.ContainerdCommit.ID) + assert.Equal(t, testEnv.DaemonInfo.ContainerdCommit.Expected, info.ContainerdCommit.Expected) + assert.Equal(t, info.ContainerdCommit.Expected, info.ContainerdCommit.ID) + + assert.NotNil(t, info.InitCommit) + assert.NotEqual(t, "N/A", info.InitCommit.ID) + assert.Equal(t, testEnv.DaemonInfo.InitCommit.Expected, info.InitCommit.Expected) + assert.Equal(t, info.InitCommit.Expected, info.InitCommit.ID) + + assert.NotNil(t, info.RuncCommit) + assert.NotEqual(t, "N/A", info.RuncCommit.ID) + assert.Equal(t, testEnv.DaemonInfo.RuncCommit.Expected, info.RuncCommit.Expected) + assert.Equal(t, info.RuncCommit.Expected, info.RuncCommit.ID) +} diff --git a/components/engine/vendor.conf b/components/engine/vendor.conf index 87f7930262..93a503896f 100644 --- a/components/engine/vendor.conf +++ b/components/engine/vendor.conf @@ -103,7 +103,7 @@ github.com/googleapis/gax-go da06d194a00e19ce00d9011a13931c3f6f6887c7 google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 # containerd -github.com/containerd/containerd v1.0.0 +github.com/containerd/containerd 89623f28b87a6004d4b785663257362d1658a729 # v1.0.0 github.com/containerd/fifo fbfb6a11ec671efbe94ad1c12c2e98773f19e1e6 github.com/containerd/continuity 35d55c5e8dd23b32037d56cf97174aff3efdfa83 github.com/containerd/cgroups 29da22c6171a4316169f9205ab6c49f59b5b852f