Docker-based build environment based on dorowu/ubuntu-desktop-lxde-vnc with pre-built and configured toolchains for cross compiling.
git clone https://github.com/friendlyarm/docker-ubuntu-lxde-novnc
cd docker-ubuntu-lxde-novnc
docker build --no-cache -t docker-ubuntu-lxde-novnc .
or setup the proxy for Dockerfile building:
vim Dockerfile
Uncomment the following two lines, change the proxy address and rebuild:
# ENV http_proxy http://192.168.1.1:1082
# ENV https_proxy http://192.168.1.1:1082
Note: do not use 127.0.0.1 for the proxy address, use the IP address of the LAN instead
Note: Mapping the /dev directory is to make the newly created loop devices appear in the container.
mkdir ~/work
chown 1000:1000 ~/work
docker run --rm --privileged -v /dev:/dev \
--name docker-ubuntu-lxde-novnc \
-p 6080:80 \
-p 5900:5900 \
-e HTTP_PASSWORD=password \
-e VNC_PASSWORD=password \
-e PUID=1000 \
-e PGID=1000 \
-e USER=ubuntu \
-e PASSWORD=ubuntu \
-v ~/.gitconfig:/home/ubuntu/.gitconfig:ro \
-v ~/work:/home/ubuntu/work \
-e RESOLUTION=1280x720 \
docker-ubuntu-lxde-novnc:latest
docker exec -it --user ubuntu docker-ubuntu-lxde-novnc bash -c 'git config --list'
docker exec -it --user ubuntu --workdir /home/ubuntu docker-ubuntu-lxde-novnc bash
open the vnc viewer and connect to port 5900.
Browse http://127.0.0.1:6080/
Successfully compiled the following projects:
- android 8.1
- android 10
- android 12 (tv & tablet)
- kernel 4.4
- kernel 4.19
- kernel 5.10
- kernel 5.15
- uboot v2014.10
- uboot v2017.09
- friendlywrt v22.03
- friendlywrt v21.02
- buildroot
- package the image by using sd-fuse_xxx
true
Faster container initialization by skippingchown
-ing every files and directories under$HOME
on container startup. This may be useful when volume is linked on$HOME
or its subdirectory, and contains lots of files and directories. Enabling this option might cause files under$HOME
inaccessible by container.false
chown
every file under$HOME
on container startup.- DEFAULT
false
- Set screen resolution in
NNNNxNNNN
form, like1366x768
. - DEFAULT Follows the size of the browser window when first connected.
- Name of default user.
- DEFAULT
root
- Password of the user inside the container. This may required if you want to use SSH with password authentication, or normal user rather than
root
.
- Password for authentication before loading noVNC screen.
USERNAME
is used as username. Password may be sent without any protection - use other authentication method when possible if this container is planned to be run as worldwide-public.
- Authentication method provided by noVNC. Password longer than 8 characters will be truncated to 8 characters.