Docker Community Forums

Share and learn in the Docker community.

How to create an image with .bin silent install

docker

(Zhengxie) #1

I’m new to docker. I need to have an image that has Watson Content Analytics installed. this is the silent install that installs Watson.
On AIX or Linux
_./install.bin -i silent -f responseFiles/LinuxMasterDistributedServer.properties

It requires Websphere application server as prerequisite. I have tried the image “ibmcom/websphere-traditional:profile” from docker hub, that has the WAS server, it went well. I just need to create the dockerfile that includes
From ibmcom/websphere-traditional:profile

then run “./install.bin -i silent -f responseFiles/LinuxMasterDistributedServer.properties”?
but how to run? I cann’t find any info on how to run .bin file in docker. Is it to use “CMD” command?

Thanks a lot for your help.

Jen


(Jeff Anderson) #2

A .bin is just an arbitrary extension. In Linux, it’s whether its an executable or a script with an interpretor.

Normally when you go to install software when working with Docker, you’ll want to do it during the docker build step. This means you’ll use the RUN instruction in the Dockerfile. The CMD instruction designates the process that should run after the image is built and you want to launch a container.


(Zhengxie) #3

Thank you Jeff. I get error.

This is my Dockerfile

FROM ibmcom/websphere-traditional:profile
MAINTAINER XXX

RUN ./install.bin -i silent -f responseFiles/LinuxMasterAllInOneServer.properties

This is the output from CLI

zhengs-air:Main zhengxie$ docker build -t=“ibmcom/wex_ca:v1” .
Sending build context to Docker daemon 1.451 GB
Step 1 : FROM ibmcom/websphere-traditional:profile
—> bb91448455a0
Step 2 : MAINTAINER Zheng Xie
—> Using cache
—> 3ad2edf6191f
Step 3 : RUN ./install.bin -i silent -f responseFiles/LinuxMasterAllInOneServer.properties
—> Running in eb51fd3346a3
/bin/sh: 1: ./install.bin: not found
The command ‘/bin/sh -c ./install.bin -i silent -f responseFiles/LinuxMasterAllInOneServer.properties’ returned a non-zero code: 127

Is it because the base image doesn’t have ‘/bin/sh’? How do I check it?


(David Maze) #4

docker run --rm -it 3ad2edf bash will get you a shell in the image that’s the output of step 2.

I’d guess it’s because you need to COPY the install.bin into the image before you RUN it.


(Zhengxie) #5

Thanks. that will work for me.