Feature: No need to install required packages on a host in order to build fleetui image. This tool builds a 'builder' image and uses it to build purpleworks/fleet-ui.
Take a look at the build.sh if you need to change the default fleetctl version or fleet-ui.git repo. Then:
./build.sh
It builds two images. The first one is fleet-ui-builder, and then the script calls it to build fleet-ui, which is the image you will run as a service.
You can customize the default fleet-ui repo or fleetctl version in the build.sh.
docker pull xuwang/docker-fleetui-builder
Replace the FLEETUIREPO with your fleet-ui repo or use the default purpleworks/fleet-ui
$ docker run -t --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
--env FLEET_VERSION=v0.11.8 \
--env FLEETUIREPO=github.com/purpleworks/fleet-ui \
--dns 8.8.8.8 \
xuwang/docker-fleetui-builder
The output:
+ docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock --env FLEETUIREPO=github.com/xueshanf/fleet-ui --dns 8.8.8.8 xuwang/docker-fleetui-builder
FLEET-UI REPO - github.com/purpleworks/fleet-ui
FLEET VERSION - v0.11.5
BUILD DOCKER IMAGE VERSION - latest
...
Here is an example of how to Run fleet-ui on CoreOS.
The builder Dockerfile creates an isolated docker enviromment, with the required software packages and docker daemon installed. The result image is called fleet-ui-builder which, when run, will build fleet-ui docker image. fleet-ui image is the one you will run or push to your dockerhub account to share.
The builder environment includes:
- latest golang
- npm, ruby, gem etc.
- docker from Debian/Jessie release
The builder image can be removed when you are sure you have a good fleet-ui image:
docker rmi fleet-ui-builder:latest
If you have problem with the fleet-ui, you can debug your build environment by run the builder image:
docker run --rm -i -t fleet-ui-builder bash
The fleet-ui source code downloaded by Go is located at /gopath directory:
Then you can manually run steps in the builder Dockerfile for troubleshooting issues.