Commit 5028c9c6 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

feat: Automaticly set controlport

feat: Automaticly set controlport
parents f2c6af11 0e96abc5
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -18,12 +18,7 @@ RUN apt-get update && apt-get -y upgrade && \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Using a wildcard causes caching problems on some systems
COPY src/disk.sh /run/
COPY src/display.sh /run/
COPY src/entry.sh /run/
COPY src/install.sh /run/
COPY src/network.sh /run/
COPY ./src /run/
RUN chmod +x /run/*.sh

VOLUME /storage
+2 −3
Original line number Diff line number Diff line
@@ -4,12 +4,11 @@ services:
        container_name: qemu
        image: qemux/qemu-docker:latest
        environment:
            DISPLAY: "vnc"
            CPU_CORES: "1"
            RAM_SIZE: "512M"            
            DISK_SIZE: "16G"
            BOOT: "https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/alpine-standard-3.18.2-x86_64.iso"
            DISPLAY: "vnc"
            CONTROL_PORTS: "5900"
        devices:
            - /dev/kvm
            - /dev/vhost-net
@@ -18,7 +17,7 @@ services:
        cap_add:
            - NET_ADMIN                       
        ports:
            - 22:22
            - 2222:22
            - 5900:5900
        restart: on-failure
        stop_grace_period: 1m
+15 −13
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ services:
    container_name: qemu
    image: qemux/qemu-docker:latest
    environment:
      DISPLAY: "vnc"
      DISK_SIZE: "16G"
      BOOT: "https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/alpine-standard-3.18.2-x86_64.iso"
    devices:
@@ -35,7 +36,8 @@ services:
    cap_add:
      - NET_ADMIN
    ports:
      - 22:22
      - 2222:22
      - 5900:5900
    restart: on-failure
```

@@ -125,7 +127,18 @@ docker run -it --rm -e "BOOT=http://www.example.com/image.iso" --device=/dev/kvm

    If you receive an error from `kvm-ok` indicating that KVM acceleration can't be used, check your BIOS settings.

  * ### How do I provide extra arguments to QEMU?
  * ### How can I connect with VNC?

    To enable VNC, add the following lines to your compose file:

    ```yaml
    environment:
      DISPLAY: "vnc"
    ports:
      - 5900:5900
    ```
    
  * ### How do I provide custom arguments to QEMU?

    You can create the `ARGUMENTS` environment variable to provide additional arguments to QEMU at runtime:

@@ -187,17 +200,6 @@ docker run -it --rm -e "BOOT=http://www.example.com/image.iso" --device=/dev/kvm

    Please note that even if you don't need DHCP, it's still recommended to enable this feature as it prevents NAT issues and increases performance by using a `macvtap` interface.

  * ### How can I connect with VNC?

    To enable VNC, add the following lines to your compose file:

    ```yaml
    ports:
      "5900:5900"
    environment:
      DISPLAY: "vnc"
    ```

[build_url]: https://github.com/qemu-tools/qemu-docker/
[hub_url]: https://hub.docker.com/r/qemux/qemu-docker/
[tag_url]: https://hub.docker.com/r/qemux/qemu-docker/tags
+1 −1
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ set -Eeuo pipefail

: ${DISPLAY:='none'}    # Display type

case "$DISPLAY" in
case "${DISPLAY,,}" in
  vnc)
    DISPLAY_OPTS="-nographic -vga std -vnc :0"
    ;;
+1 −2
Original line number Diff line number Diff line
@@ -33,8 +33,8 @@ cd /run

. install.sh    # Get bootdisk
. disk.sh       # Initialize disks
. network.sh    # Initialize network
. display.sh    # Initialize display
. network.sh    # Initialize network

KVM_ERR=""
KVM_OPTS=""
@@ -69,7 +69,6 @@ ARGS=$(echo "$ARGS" | sed 's/\t/ /g' | tr -s ' ')
trap - ERR
info "Booting image using ${VERS}..."


[[ "${DEBUG}" == [Yy1]* ]] && set -x
exec qemu-system-x86_64 ${ARGS:+ $ARGS}
{ set +x; } 2>/dev/null
Loading