devcontainer: Use a separate devcontainer target
Use a separate `devcontainer` Dockerfile target, this allows to include the `gopls` in the devcontainer so it doesn't have to be installed by the Go vscode extension. Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
parent
12dea3fa9e
commit
eef352b565
2 changed files with 12 additions and 1 deletions
|
@ -3,7 +3,7 @@
|
||||||
"build": {
|
"build": {
|
||||||
"context": "..",
|
"context": "..",
|
||||||
"dockerfile": "../Dockerfile",
|
"dockerfile": "../Dockerfile",
|
||||||
"target": "dev"
|
"target": "devcontainer"
|
||||||
},
|
},
|
||||||
"workspaceFolder": "/go/src/github.com/docker/docker",
|
"workspaceFolder": "/go/src/github.com/docker/docker",
|
||||||
"workspaceMount": "source=${localWorkspaceFolder},target=/go/src/github.com/docker/docker,type=bind,consistency=cached",
|
"workspaceMount": "source=${localWorkspaceFolder},target=/go/src/github.com/docker/docker,type=bind,consistency=cached",
|
||||||
|
|
11
Dockerfile
11
Dockerfile
|
@ -251,6 +251,12 @@ RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
GOBIN=/build/ GO111MODULE=on go install "mvdan.cc/sh/v3/cmd/shfmt@${SHFMT_VERSION}" \
|
GOBIN=/build/ GO111MODULE=on go install "mvdan.cc/sh/v3/cmd/shfmt@${SHFMT_VERSION}" \
|
||||||
&& /build/shfmt --version
|
&& /build/shfmt --version
|
||||||
|
|
||||||
|
FROM base AS gopls
|
||||||
|
RUN --mount=type=cache,target=/root/.cache/go-build \
|
||||||
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
|
GOBIN=/build/ GO111MODULE=on go install "golang.org/x/tools/gopls@latest" \
|
||||||
|
&& /build/gopls version
|
||||||
|
|
||||||
FROM base AS dockercli
|
FROM base AS dockercli
|
||||||
WORKDIR /go/src/github.com/docker/cli
|
WORKDIR /go/src/github.com/docker/cli
|
||||||
ARG DOCKERCLI_REPOSITORY
|
ARG DOCKERCLI_REPOSITORY
|
||||||
|
@ -655,6 +661,11 @@ RUN <<EOT
|
||||||
docker-proxy --version
|
docker-proxy --version
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
# devcontainer is a stage used by .devcontainer/devcontainer.json
|
||||||
|
FROM dev-base AS devcontainer
|
||||||
|
COPY --link . .
|
||||||
|
COPY --link --from=gopls /build/ /usr/local/bin/
|
||||||
|
|
||||||
# usage:
|
# usage:
|
||||||
# > make shell
|
# > make shell
|
||||||
# > SYSTEMD=true make shell
|
# > SYSTEMD=true make shell
|
||||||
|
|
Loading…
Reference in a new issue