dockur / windows

Windows inside a Docker container.
MIT License
17.38k stars 1.48k forks source link

[Question]: How to run multi windows? #739

Open eovipmak opened 1 week ago

eovipmak commented 1 week ago

Is your question not already answered in the FAQ?

Is this a general question and not a technical issue?

Question

Hello,

I'm trying to run multi container, each container run 1 windows version. Like container 1 runs windows 10, container 2 runs windows 11, etc...

Can someone show me the ways? Thank

Best Regard.

U-L-M-S commented 1 week ago

Well... I think I understand your question. To make it possible you have 2 options.

Option A

Run a single docker compose and separate each windows in different services (This way u can start all 3 windows in the same time).

docker-compose up -d

Your docker-compose.yml should looks kinda like this: (make sure to set unique container_name for each of them and the ports)

services:
  windows11:
    image: dockurr/windows
    container_name: windows11
    environment:
      VERSION: "win11"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m

  windows10:
    image: dockurr/windows
    container_name: windows10
    environment:
      VERSION: "win10"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8007:8006
      - 3390:3389/tcp
      - 3390:3389/udp
    stop_grace_period: 2m

  windows7:
    image: dockurr/windows
    container_name: windows7
    environment:
      VERSION: "win7"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8008:8006
      - 3391:3389/tcp
      - 3391:3389/udp
    stop_grace_period: 2m

Option B

Create 3 docker-compose.yml files, each with a sevice like showing up and build each with docker compose up -d

eovipmak commented 1 week ago

Well... I think I understand your question. To make it possible you have 2 options.

Option A

Run a single docker compose and separate each windows in different services (This way u can start all 3 windows in the same time).

docker-compose up -d

Your docker-compose.yml should looks kinda like this: (make sure to set unique container_name for each of them and the ports)

services:
  windows11:
    image: dockurr/windows
    container_name: windows11
    environment:
      VERSION: "win11"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m

  windows10:
    image: dockurr/windows
    container_name: windows10
    environment:
      VERSION: "win10"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8007:8007
      - 3390:3389/tcp
      - 3390:3389/udp
    stop_grace_period: 2m

  windows7:
    image: dockurr/windows
    container_name: windows7
    environment:
      VERSION: "win7"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8008:8008
      - 3391:3389/tcp
      - 3391:3389/udp
    stop_grace_period: 2m

Option B

Create 3 docker-compose.yml files, each with a sevice like showing up and build each with docker compose up -d

Dear U-L-M-S,

I tried, but it doesn't seem to be able to access the web using port (8006, 8007,...) so I won't know if these docker containers are actually working or not. And if it runs, how can it properly connect to RDP when all ports are mapped to port 3389 (like 3391:3389). I tried 3390:3390 but it doesn't seem to work.

Thanks for your reply.

U-L-M-S commented 1 week ago

@eovipmak I don't want to sound rude broh... but you need to learn docker first. Just go to Youtube and search for 'Lern docker in minutes' I'm pretty sure you will find videos around 20 mins till 2 hours. Choose one and learn it.

ps: You can use the command docker ps to check all current running containers.

:smile: I hope I could help you...