mirror of
https://github.com/sickcodes/Docker-OSX.git
synced 2024-11-26 12:07:01 +08:00
Add -e NOPICKER=false for the :naked image to be able to enter boot menu.
This commit is contained in:
parent
9a1cbbff95
commit
7eb821dcc3
@ -1,5 +1,6 @@
|
|||||||
|Version|Date|Notes|
|
|Version|Date|Notes|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
| |2021-02-07|Add NOPICKER environment variable to :naked image for effortless boot toggling.|
|
||||||
| |2021-02-07|Add MAC_ADDRESS environment variable.|
|
| |2021-02-07|Add MAC_ADDRESS environment variable.|
|
||||||
| |2021-02-03|Employ wget --no-verbose to avoid buffer overload in hub.docker.com.|
|
| |2021-02-03|Employ wget --no-verbose to avoid buffer overload in hub.docker.com.|
|
||||||
| |2021-02-03|Reduce build size.|
|
| |2021-02-03|Reduce build size.|
|
||||||
|
@ -55,15 +55,25 @@ RUN if [[ "${RANKMIRRORS}" ]]; then { pacman -Sy wget --noconfirm || pacman -Syu
|
|||||||
&& tee -a /etc/pacman.d/mirrorlist <<< 'Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch' \
|
&& tee -a /etc/pacman.d/mirrorlist <<< 'Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch' \
|
||||||
&& cat /etc/pacman.d/mirrorlist ; fi
|
&& cat /etc/pacman.d/mirrorlist ; fi
|
||||||
|
|
||||||
RUN pacman -Syu xorg-server-xvfb xterm xorg-xhost xorg-xrandr xdotool sshpass scrot base-devel --noconfirm
|
# For taking screenshots of the Xfvb screen, useful during development.
|
||||||
|
ARG SCROT
|
||||||
|
|
||||||
RUN git clone https://github.com/stolk/imcat.git \
|
RUN pacman -Syu xorg-server-xvfb wget xterm xorg-xhost xorg-xrandr sshpass --noconfirm \
|
||||||
&& cd imcat \
|
&& if [[ "${SCROT}" ]]; then \
|
||||||
&& make \
|
pacman -Syu scrot base-devel --noconfirm \
|
||||||
&& sudo cp imcat /usr/bin/imcat \
|
&& git clone https://github.com/stolk/imcat.git \
|
||||||
&& touch /usr/bin/scrotcat \
|
&& cd imcat \
|
||||||
&& tee -a /usr/bin/scrotcat <<< '/usr/bin/imcat <(scrot -o /dev/stdout)' \
|
&& make \
|
||||||
&& chmod +x /usr/bin/scrotcat
|
&& sudo cp imcat /usr/bin/imcat \
|
||||||
|
&& touch /usr/bin/scrotcat \
|
||||||
|
&& tee -a /usr/bin/scrotcat <<< '/usr/bin/imcat <(scrot -o /dev/stdout)' \
|
||||||
|
&& chmod +x /usr/bin/scrotcat \
|
||||||
|
; else \
|
||||||
|
touch /usr/bin/scrotcat \
|
||||||
|
&& echo echo >> /usr/bin/scrotcat \
|
||||||
|
&& chmod +x /usr/bin/scrotcat \
|
||||||
|
; fi \
|
||||||
|
; yes | pacman -Scc
|
||||||
|
|
||||||
USER arch
|
USER arch
|
||||||
|
|
||||||
@ -79,16 +89,17 @@ RUN mkdir -p ~/.ssh \
|
|||||||
|
|
||||||
WORKDIR /home/arch/OSX-KVM
|
WORKDIR /home/arch/OSX-KVM
|
||||||
|
|
||||||
ARG NOPICKER=true
|
ENV NOPICKER=true
|
||||||
|
|
||||||
RUN [[ "${NOPICKER}" = true ]] && mv ./Launch-nopicker.sh ./Launch.sh
|
|
||||||
|
|
||||||
ENV DISPLAY=:99
|
ENV DISPLAY=:99
|
||||||
|
|
||||||
ENV IMAGE_PATH=/image
|
ENV IMAGE_PATH=/image
|
||||||
|
|
||||||
CMD [[ "${DISPLAY}" = ':99' ]] && { nohup Xvfb :99 -screen 0 1920x1080x16 \
|
CMD [[ "${DISPLAY}" = ':99' ]] && { \
|
||||||
& until [[ "$(xrandr --query 2>/dev/null)" ]]; do sleep 1 ; done ; } \
|
nohup Xvfb :99 -screen 0 1920x1080x16 \
|
||||||
|
& until [[ "$(xrandr --query 2>/dev/null)" ]]; do sleep 1 ; done \
|
||||||
|
; } \
|
||||||
; sudo chown "$(id -u)":"$(id -g)" "${IMAGE_PATH}" 2>/dev/null || true \
|
; sudo chown "$(id -u)":"$(id -g)" "${IMAGE_PATH}" 2>/dev/null || true \
|
||||||
; ./enable-ssh.sh \
|
; ./enable-ssh.sh \
|
||||||
|
; [[ "${NOPICKER}" == true ]] && mv ./Launch-nopicker.sh ./Launch.sh \
|
||||||
; envsubst < ./Launch.sh | bash
|
; envsubst < ./Launch.sh | bash
|
||||||
|
16
README.md
16
README.md
@ -111,7 +111,10 @@ docker start -i containerid
|
|||||||
# Quick Start Own Image
|
# Quick Start Own Image
|
||||||
|
|
||||||
|
|
||||||
Supply your image with `-v "${PWD}/mac_hdd_ng.img:/image"` and use `sickcodes/docker-osx:naked`
|
Supply your own local image with `-v "${PWD}/mac_hdd_ng.img:/image"` and use `sickcodes/docker-osx:naked`
|
||||||
|
|
||||||
|
- Naked image is for booting any existing .img file.
|
||||||
|
- By default, this image has a variable called `NOPICKER` which is `"true"`. Use `-e NOPICKER=false` or any other string than the word `true` to enter the boot menu. This lets you use other disks instead of skipping the boot menu, e.g. recovery disk.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull sickcodes/docker-osx:naked
|
docker pull sickcodes/docker-osx:naked
|
||||||
@ -124,6 +127,17 @@ docker run -it \
|
|||||||
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
||||||
-e "DISPLAY=${DISPLAY:-:0.0}" \
|
-e "DISPLAY=${DISPLAY:-:0.0}" \
|
||||||
sickcodes/docker-osx:naked
|
sickcodes/docker-osx:naked
|
||||||
|
|
||||||
|
# run local copy of the auto image + SSH + Boot menu
|
||||||
|
docker run -it \
|
||||||
|
--device /dev/kvm \
|
||||||
|
-p 50922:10022 \
|
||||||
|
-v "${PWD}/mac_hdd_ng_auto.img:/image" \
|
||||||
|
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
||||||
|
-e "DISPLAY=${DISPLAY:-:0.0}" \
|
||||||
|
-e "NOPICKER=false" \
|
||||||
|
sickcodes/docker-osx:naked
|
||||||
|
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
# run your own image headless + SSH
|
# run your own image headless + SSH
|
||||||
|
Loading…
Reference in New Issue
Block a user