# Docker image build process

## Usage

Simply run
```bash
./build.sh ./dev.x86_64.dockerfile
```

Please notice that deep refactoring is ongoing, which may cause building errors now and then.

# Docker image build process

## Usage

Simply run
```bash
./build_dev.sh ./dev.x86_64.dockerfile
```

## Add new installer

The best practice of a new installer would be:

1. Well tested.

   Of course. Make it work, and don't break other installers, such as
   incompatible versions of libraries.

1. Standalone.

   Have minimum assumption about the basement, which means, you can depend on
   the base image and installers/pre_install.sh. Other than that, you should
   install all the dependencies in your own installer.

1. Thin.

   It will generate a new layer in the final image, so please keep it as thin as
   possible. For example, clean up all intermediate files:

   ```bash
   wget xxx.zip
   # Unzip, make, make install
   rm -fr xxx.zip xxx
   ```

1. Cross-architecture.

   It would be awesome to work perfectly for different architectures such as X86
   and ARM.

Add doc of adding new installers.
Docker: Add doc of adding new installers.
