2

Docker desktop is using Linux containers.

(Yes, I tried this: Docker Error: failed to register layer: Error processing tar file(exit status 1): "...msader15.dll.mui: no such file or directory", but using Docker Desktop with Windows containers caused the docker-compose command to fail with the response Error response from daemon: operating system is not supported)

Structure

- engine-load-tests
|- Dockerfile
|- docker-compose.yml
|- engine_load_tester_locust\
   |- main.py 
|- WinPerfCounters\ [I know - the casing is inconsistent]
   |- main.py
   |- Dockerfile
|- environment config files, README, other files

Dockerfile

FROM python:3.9.6-windowsservercore-1809
COPY . ./WinPerfCounters/
RUN pip install --no-cache-dir -r ./WinPerfCounters/requirements.txt
CMD [ "python", "WinPerfCounters/main.py", "WinPerfCounters/load_test.conf" ]

Docker-Compose

version: "3.3"
services:
  win_perf_counters:
    container_name: win_perf_counters
    platform: windows
    image: python:3.9.6-windowsservercore-1809
    build: ./WinPerfCounters
    depends_on:
      - influxdb
    links:
      - influxdb
Then other containers for locust, influx, and grafana...

Output - Snippets

------
> [python:3.9.6-windowsservercore-1809 1/3] FROM docker.io/library/python:3.9.6-windowsservercore-1809@sha256:54b7eadfbbc3a983bf6ea80eb7478b68d46267bbbcc710569972c140247ccd5e:
-----
failed to solve: rpc error: code = Unknown desc = failed to register layer: Error processing tar file(exit status 1): link /Files/Program Files/common files/Microsoft Shared/Ink/en-US/micaut.dll.mui /Files/Program Files (x86)/common fi
les/Microsoft Shared/ink/en-US/micaut.dll.mui: no such file or directory

3 Answers 3

3

You can't run Windows containers (i.e. derived from some Windows base image like windowsservercore-1809) when Docker Desktop is set to Linux containers.

Sign up to request clarification or add additional context in comments.

Comments

0

You need to run Docker in the windows container. Right-click on the Docker icon in the system tray and select "Switch to Windows containers" from the context menu.

Comments

0

I ran into this exact same issue and here are the first things I tried that didn't work:

  • reinstalling docker
  • clearing docker cache

I also saw a comment that it's necessary to upgrade to Docker Pro, and that is not true.

The following are also necessary but aren't what 'fixed' it for me:

  • setting the default builder to the 'non-linux' builder
  • adding the tags in my .csproj file (my error was the same but in C#) <PropertyGroup> <DockerDefaultTargetOS>Windows</DockerDefaultTargetOS> <EnableSdkContainerDebugging> True </EnableSdkContainerDebugging> </PropertyGroup>
  • Having a license for the operating system that you plan to build

The missing piece to my puzzle was configuring Docker Desktop to Windows, which is done in the taskbar at the bottom of the screen, to the left of the clock, sound, and network configuration. Click the ^ arrow, then right click the small Docker symbol. You can see that mine now says 'switch to linux containers' because it is currently set to windows.

the taskbar expanded to show Docker options in order to switch target OS

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.