Help with Dockerfile

I’m tryng to create a new Docker build locally that includes Ubuntu and InterBase.
The docker file I created is as follows and the installer starts up for InterBase, but fails with: “The command '/bin/sh -c $IB_INSTALL_ROOT/Disk1/InstData/Linux/VM/ib_install_x86_64.bin” returned a non-zero code: 1
If I comment out the call to ib_install_x86_64.bin, the build works, and I can run the command manually after the build, in the created image using sh or bash.

Pull base image.

FROM ubuntu:14.04

Set environment variables.

ENV IB_PATH /usr/interbase
ENV IB_INSTALL_ROOT /InterBase2017
ENV IB_PORT 3050

Add local files to install files folder in docker. (Install files and License)

COPY InterBase2017/. $IB_INSTALL_ROOT/.

Set the working directory to /InterBase

WORKDIR /usr/interbase

Install InterBase 64bit

RUN $IB_INSTALL_ROOT/Disk1/InstData/Linux/VM/ib_install_x86_64.bin

Open Port for InterBase

EXPOSE $IB_PORT

Start InterBase Server

RUN bash -c $IB_PATH/bin/ibmgr -start

Define default command.

CMD [“bash”]


I’ve played a lot with the path settings, and know the files copied in install with the issued command. Any suggestions on how to resolve this build error?

could you build it manually? basically a docker run -ti ubuntu:14.04 bash, download your InterBase Version and try to set it up there? I guess the InterBase setup is requiring a binary which is not installed in the stripped down ubuntu docker image.

the ubuntu build is OK. if I comment out from RUN $IB_INSTALL_ROOT/Disk1/InstData/Linux/VM/ib_install_x86_64.bin
to the end, I get an image that I can then run the installer in. The build shows that the install is starting, but it fails having got started. - which is perplexing. any reason why it would run at the bash prompt, but not during the build?

Hi Stephen, I sent a message to you through Kirstin Challis a few weeks ago regarding the InterBase installer and packages. Correct me if I’m wrong but the current installer has a listed requirement of an X-Window server? By default the Ubuntu official image won’t give you that and I’m not seeing that in your Dockerfile.

If you’re looking at these issues I’d love to help if I can.

Cheers,

Richard.

Thanks Richard, Will connect offline.

Update: - (Thanks to Richard for this nugget…)

With the above line updated in the Dockerfile (as below) it runs.

RUN $IB_INSTALL_ROOT/Disk1/InstData/Linux/VM/ib_install_x86_64.bin || true

The installer was reporting a warning (not an error) and with the subsequent install, it was possible to check the installer log file, locate the warnings and then modify the docker file further.

the " || true " in essence or-ed the response from the installer, enabling getting past the issue and then to analyse the resulting output.