sickcodes / Docker-OSX

Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers.
https://hub.docker.com/r/sickcodes/docker-osx
GNU General Public License v3.0
48.82k stars 2.73k forks source link

Docker fails to start #131

Closed Otus9051 closed 10 months ago

Otus9051 commented 3 years ago

Whenever I am trying the start OSX with this command

docker run \ 
    --device /dev/kvm \
    --device /dev/snd \
    -v /tmp/X11-unix:/tmp/X11-unix \ 
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    sickcodes/docker-osx:latest

This happens

docker: unknown server OS: .

This is my uname -a

Linux garuda 5.10.7-111-tkg-bmq #1 TKG SMP PREEMPT Sun, 17 Jan 2021 02:26:07 +0000 x86_64 GNU/Linux

The distro I am using is Garuda Linux based on Arch Linux with 5.10.7-111-TKG-BMQ Kernel

wulei-github commented 3 years ago

add sudo docker run

Otus9051 commented 3 years ago

add sudo docker run

Forgot to include that I did do it, but it didn't work and the error was same.

sickcodes commented 3 years ago

sudo dockerd

Your docker daemon is off

Otus9051 commented 3 years ago

@sickcodes well i did do sudo dockerd Dunno what is with up with my OS

sickcodes commented 3 years ago

Whenever I am trying the start OSX with this command

docker run \ 
    --device /dev/kvm \
    --device /dev/snd \
    -v /tmp/X11-unix:/tmp/X11-unix \ 
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    sickcodes/docker-osx:latest

This happens

docker: unknown server OS: .

This is my uname -a

Linux garuda 5.10.7-111-tkg-bmq #1 TKG SMP PREEMPT Sun, 17 Jan 2021 02:26:07 +0000 x86_64 GNU/Linux

The distro I am using is Garuda Linux based on Arch Linux with 5.10.7-111-TKG-BMQ Kernel

You have a trailing space after docker run \_

Otus9051 commented 3 years ago

@sickcodes

docker run \ 
    --device /dev/kvm \
    --device /dev/snd \
    -v /tmp/X11-unix:/tmp/X11-unix \ 
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    sickcodes/docker-osx:latest
docker: unknown server OS: .
See 'docker run --help'.
sickcodes commented 3 years ago

docker run --device /dev/kvm --device /dev/snd -v /tmp/X11-unix:/tmp/X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:latest

You have a trailing space on the first line.

Otus9051 commented 3 years ago

image @sickcodes (I couldn't copy paste it as i cant figure out how to)

Silfalion commented 3 years ago

Tried xhost + ?

Otus9051 commented 3 years ago

What's that?

Silfalion commented 3 years ago

Run it in your terminal then run your docker command

Otus9051 commented 3 years ago

nope. same thing.

sickcodes commented 3 years ago

echo $DISPLAY If this is blank you have no screen.

egrep -c '(svm|vmx)' /proc/cpuinfo If this is 0, turn on hardware virt in your bios.

Otus9051 commented 3 years ago
> echo $DISPLAY
:0
> egrep -c '(svm|vmx)' /proc/cpuinfo
4
sickcodes commented 3 years ago
docker: unknown server OS: .
See 'docker run --help'.

This happens when dockerd is off

Can you confirm the docker daemon is running? pgrep dockerd

Otus9051 commented 3 years ago
> pgrep dockerd
558
Otus9051 commented 3 years ago
docker: unknown server OS: .
See 'docker run --help'.

Actually this error doesn't happen now Something is up with ALSA

Otus9051 commented 3 years ago

I'll try the troubleshooting commands from the README.md See if that works...

sickcodes commented 3 years ago

I'll try the troubleshooting commands from the README.md

See if that works...

Sounds good! Can you let us know when you've fixed it?

Otus9051 commented 3 years ago

Welp... I gave up on it and decided to install the prebuilt image and now, the error is kinda like this...

> docker run -it \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    -e "OSX_COMMANDS=/bin/bash -c \"pwd && uname -a\"" \
    sickcodes/docker-osx:auto

/usr/sbin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/arch/.ssh/id_docker_osx.pub"
ssh: connect to host 127.0.0.1 port 10022: Connection refused
Disk is being copied between layers. Repeating until able to copy SSH key into OSX...
No protocol specified

And this loops on and on and in until terminated...

sickcodes commented 3 years ago

Remove the OSX_COMMANDS line because it will close the image

docker run -it \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    sickcodes/docker-osx:auto
Otus9051 commented 3 years ago
docker: Error response from daemon: failed to create endpoint peaceful_visvesvaraya on network bridge: failed to add the host (veth517af6d) <=> sandbox (vethe1632dd) pair interfaces: operation not supported. ERRO[0001] error waiting for container: context canceled
mostwanted002 commented 3 years ago

Welp... I gave up on it and decided to install the prebuilt image and now, the error is kinda like this...

> docker run -it \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    -e "OSX_COMMANDS=/bin/bash -c \"pwd && uname -a\"" \
    sickcodes/docker-osx:auto

/usr/sbin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/arch/.ssh/id_docker_osx.pub"
ssh: connect to host 127.0.0.1 port 10022: Connection refused
Disk is being copied between layers. Repeating until able to copy SSH key into OSX...
No protocol specified

And this loops on and on and in until terminated...

The same is happening with me when I'm trying to use docker-osx:auto. And it gives gtk initialization has failed when running docker-osx:latest.

The docker-osx:latest worked. had to run xhost + prior running the commands.

sickcodes commented 3 years ago

@mostwanted002 @Otus9051

-e "OSX_COMMANDS=/bin/bash -c \"pwd && uname -a\"" \

Will run, inside Mac's Terminal:

bin/bash -c "pwd && uname -a"

pwd is print working directory

uname -a will print system info

Then it will exit, the entire container.

Remove that line if you want to stay running, or add && /bin/bash at the end

gab3-dev commented 3 years ago

I'm trying to run but i got this error Unable to init server: Could not connect: Connection refused qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory QEMU 5.2.0 monitor - type 'help' for more information (qemu) Can anyone help me? I am trying the start OSX with this command sudo docker run --device /dev/kvm --device /dev/snd -v /tmp/X11-unix:/tmp/X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:latest

sickcodes commented 3 years ago

Connect refused is either /dev/kvm permissions, xhost +, or you're not in libvirt, docker or kvm groups, or you're running with root

gab3-dev commented 3 years ago

I've tried to run now but I got this error gtk initialization failed

BackMountainDevil commented 3 years ago

add sudo docker run

it is not recommand to run docker with sudo. It may be dangerous

allansrc commented 3 years ago

who is running on WSL, and are getting stuck on docker: unknown server OS: . must to use Docker on Windows Client and extern it to wsl v2

check https://docs.docker.com/docker-for-windows/wsl/

make sure that your distro is enabled

after that, You can run it perfectly.

docker run -it \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    -e GENERATE_UNIQUE=true \
    -e MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist \
    sickcodes/docker-osx:big-sur
sickcodes commented 3 years ago

who is running on WSL, and are getting stuck on docker: unknown server OS: . must to use Docker on Windows Client and extern it to wsl v2

check https://docs.docker.com/docker-for-windows/wsl/

make sure that your distro is enabled

after that, You can run it perfectly.

docker run -it \
   --device /dev/kvm \
   -p 50922:10022 \
   -v /tmp/.X11-unix:/tmp/.X11-unix \
   -e "DISPLAY=${DISPLAY:-:0.0}" \
   -e GENERATE_UNIQUE=true \
   -e MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist \
   sickcodes/docker-osx:big-sur

Fantastic! It runs perfectly now? Thank you for letting us know :)

allansrc commented 3 years ago

who is running on WSL, and are getting stuck on docker: unknown server OS: . must to use Docker on Windows Client and extern it to wsl v2 check https://docs.docker.com/docker-for-windows/wsl/ make sure that your distro is enabled

after that, You can run it perfectly.

docker run -it \
   --device /dev/kvm \
   -p 50922:10022 \
   -v /tmp/.X11-unix:/tmp/.X11-unix \
   -e "DISPLAY=${DISPLAY:-:0.0}" \
   -e GENERATE_UNIQUE=true \
   -e MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist \
   sickcodes/docker-osx:big-sur

Fantastic! It runs perfectly now? Thank you for letting us know :)

Yep I just test on Windowns 10 21H1 and also on windows 11. runs good

sickcodes commented 3 years ago

Fantastic, thank you! And thank you for https://github.com/sickcodes/Docker-OSX/pull/318

korhun commented 2 years ago

Using the latest Windows 11 updates I could not make it work. I was successfully using Catalina a couple of weeks ago.

ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 

nohup: appending output to 'nohup.out'

++ id -u

++ id -g

+ sudo chown 1000:1000 /dev/kvm

++ id -u

++ id -g

+ sudo chown -R 1000:1000 /dev/snd

+ [[ 3 = max ]]

+ [[ 3 = half ]]

++ id -u

++ id -g

+ sudo chown -R 1000:1000 /dev/snd

+ exec qemu-system-x86_64 -m 3000 -cpu Penryn,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check, -machine q35,accel=kvm:tcg -smp 4,cores=4 -usb -device usb-kbd -device usb-tablet -device 'isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc' -drive if=pflash,format=raw,readonly=on,file=/home/arch/OSX-KVM/OVMF_CODE.fd -drive if=pflash,format=raw,file=/home/arch/OSX-KVM/OVMF_VARS-1024x768.fd -smbios type=2 -audiodev alsa,id=hda -device ich9-intel-hda -device hda-duplex,audiodev=hda -device ich9-ahci,id=sata -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file=/home/arch/OSX-KVM/OpenCore/OpenCore.qcow2 -device ide-hd,bus=sata.2,drive=OpenCoreBoot -device ide-hd,bus=sata.3,drive=InstallMedia -drive id=InstallMedia,if=none,file=/home/arch/OSX-KVM/BaseSystem.img,format=qcow2 -drive id=MacHDD,if=none,file=/home/arch/OSX-KVM/mac_hdd_ng.img,format=qcow2 -device ide-hd,bus=sata.4,drive=MacHDD -netdev user,id=net0,hostfwd=tcp::10022-:22,hostfwd=tcp::5900-:5900, -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:09:49:17 -monitor stdio -boot menu=on -vga vmware

kvm version too old

qemu-system-x86_64: failed to initialize kvm: Inappropriate ioctl for device

qemu-system-x86_64: falling back to tcg

QEMU 6.1.0 monitor - type 'help' for more information

(qemu) qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]

qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.80000007H:EDX.invtsc [bit 8]

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory

ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory

ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory

ALSA lib conf.c:5599:(snd_config_expand) Evaluate error: No such file or directory

ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default

alsa: Could not initialize DAC

alsa: Failed to open `default':

alsa: Reason: No such file or directory

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory

ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory

ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory

ALSA lib conf.c:5599:(snd_config_expand) Evaluate error: No such file or directory

ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default

alsa: Could not initialize DAC

alsa: Failed to open `default':

alsa: Reason: No such file or directory

audio: Failed to create voice `dac'

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory

ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory

ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory

ALSA lib conf.c:5599:(snd_config_expand) Evaluate error: No such file or directory

ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default

alsa: Could not initialize ADC

alsa: Failed to open `default':

alsa: Reason: No such file or directory

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory

ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory

ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name

ALSA lib conf.c:5111:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory

ALSA lib conf.c:5599:(snd_config_expand) Evaluate error: No such file or directory

ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM default

alsa: Could not initialize ADC

alsa: Failed to open `default':

alsa: Reason: No such file or directory

audio: Failed to create voice `adc'

gtk initialization failed
pedro3g commented 10 months ago

I solved my problem by running as sudo.