Unverified Commit 6d6fb2ba authored by Samruddhi Khandale's avatar Samruddhi Khandale Committed by GitHub

[docker-in-docker] : Bug fix - Buildx installation when moby:false (#827)

parent ccc86033
{ {
"id": "docker-in-docker", "id": "docker-in-docker",
"version": "2.7.1", "version": "2.8.0",
"name": "Docker (Docker-in-Docker)", "name": "Docker (Docker-in-Docker)",
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-in-docker", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-in-docker",
"description": "Create child containers *inside* a container, independent from the host's docker instance. Installs Docker extension in the container along with needed CLIs.", "description": "Create child containers *inside* a container, independent from the host's docker instance. Installs Docker extension in the container along with needed CLIs.",
......
...@@ -317,13 +317,16 @@ if [ "${INSTALL_DOCKER_BUILDX}" = "true" ]; then ...@@ -317,13 +317,16 @@ if [ "${INSTALL_DOCKER_BUILDX}" = "true" ]; then
buildx_file_name="buildx-v${buildx_version}.linux-${architecture}" buildx_file_name="buildx-v${buildx_version}.linux-${architecture}"
cd /tmp && wget "https://github.com/docker/buildx/releases/download/v${buildx_version}/${buildx_file_name}" cd /tmp && wget "https://github.com/docker/buildx/releases/download/v${buildx_version}/${buildx_file_name}"
mkdir -p ${_REMOTE_USER_HOME}/.docker/cli-plugins docker_home="/usr/libexec/docker"
mv ${buildx_file_name} ${_REMOTE_USER_HOME}/.docker/cli-plugins/docker-buildx cli_plugins_dir="${docker_home}/cli-plugins"
chmod +x ${_REMOTE_USER_HOME}/.docker/cli-plugins/docker-buildx
chown -R "${USERNAME}:docker" "${_REMOTE_USER_HOME}/.docker" mkdir -p ${cli_plugins_dir}
chmod -R g+r+w "${_REMOTE_USER_HOME}/.docker" mv ${buildx_file_name} ${cli_plugins_dir}/docker-buildx
find "${_REMOTE_USER_HOME}/.docker" -type d -print0 | xargs -n 1 -0 chmod g+s chmod +x ${cli_plugins_dir}/docker-buildx
chown -R "${USERNAME}:docker" "${docker_home}"
chmod -R g+r+w "${docker_home}"
find "${docker_home}" -type d -print0 | xargs -n 1 -0 chmod g+s
fi fi
tee /usr/local/share/docker-init.sh > /dev/null \ tee /usr/local/share/docker-init.sh > /dev/null \
......
...@@ -11,6 +11,8 @@ check "docker-build" docker build ./ ...@@ -11,6 +11,8 @@ check "docker-build" docker build ./
check "installs docker-compose v1 install" bash -c "type docker-compose" check "installs docker-compose v1 install" bash -c "type docker-compose"
check "installs compose-switch" bash -c "[[ -f /usr/local/bin/compose-switch ]]" check "installs compose-switch" bash -c "[[ -f /usr/local/bin/compose-switch ]]"
check "docker-buildx" bash -c "docker buildx version"
check "docker-buildx-path" bash -c "ls -la /usr/libexec/docker/cli-plugins/docker-buildx"
# Report result # Report result
reportResults reportResults
...@@ -8,6 +8,8 @@ source dev-container-features-test-lib ...@@ -8,6 +8,8 @@ source dev-container-features-test-lib
# Definition specific tests # Definition specific tests
check "docker-buildx" docker buildx version check "docker-buildx" docker buildx version
check "docker-build" docker build ./ check "docker-build" docker build ./
check "docker-buildx" bash -c "docker buildx version"
check "docker-buildx-path" bash -c "ls -la /usr/libexec/docker/cli-plugins/docker-buildx"
# Report result # Report result
reportResults reportResults
...@@ -8,6 +8,8 @@ source dev-container-features-test-lib ...@@ -8,6 +8,8 @@ source dev-container-features-test-lib
# Definition specific tests # Definition specific tests
check "docker-buildx" docker buildx version check "docker-buildx" docker buildx version
check "docker-build" docker build ./ check "docker-build" docker build ./
check "docker-buildx" bash -c "docker buildx version"
check "docker-buildx-path" bash -c "ls -la /usr/libexec/docker/cli-plugins/docker-buildx"
# Report result # Report result
reportResults reportResults
#!/bin/bash
set -e
# Optional: Import test library
source dev-container-features-test-lib
# Definition specific tests
check "docker-buildx" bash -c "docker buildx version"
check "docker-buildx-path" bash -c "ls -la /usr/libexec/docker/cli-plugins/docker-buildx"
check "docker-buildx" docker buildx version
check "docker-build" docker build ./
check "installs docker-compose v1 install" bash -c "type docker-compose"
check "installs compose-switch" bash -c "[[ -f /usr/local/bin/compose-switch ]]"
# Report result
reportResults
...@@ -68,6 +68,15 @@ ...@@ -68,6 +68,15 @@
}, },
"remoteUser": "node" "remoteUser": "node"
}, },
"docker_buildx": {
"image": "mcr.microsoft.com/devcontainers/base:bookworm",
"features": {
"docker-in-docker": {
"moby": false,
"installDockerBuildx": true
}
}
},
// DO NOT REMOVE: This scenario is used by the docker-in-docker-stress-test workflow // DO NOT REMOVE: This scenario is used by the docker-in-docker-stress-test workflow
"docker_with_on_create_command": { "docker_with_on_create_command": {
"image": "mcr.microsoft.com/devcontainers/base:debian", "image": "mcr.microsoft.com/devcontainers/base:debian",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment