Build fleet-ui docker image
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:
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.
Use ready-make docker-fleet-ui builder image
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 22.214.171.124 \ xuwang/docker-fleetui-builder
+ docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock --env FLEETUIREPO=github.com/xueshanf/fleet-ui --dns 126.96.36.199 xuwang/docker-fleetui-builder FLEET-UI REPO - github.com/purpleworks/fleet-ui FLEET VERSION - v0.11.5 BUILD DOCKER IMAGE VERSION - latest ...
Run the fleet-ui on CoreOS
Here is an example of how to Run fleet-ui on CoreOS.
How does it work
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.