I have following docker command to run container
docker run -d --name test -v /etc/hadoop/conf:/etc/hadoop/conf -v /usr/lib/python2.7/dist-packages/hdinsight_common:/usr/lib/python2.7/dist-packages/hdinsight_common -v /etc/hive/conf/:/etc/hive/conf/ -v /etc/tez/conf/:/etc/tez/conf/ -v /usr/hdp/2.4.2.0-258/sqoop/lib/:/usr/hdp/2.4.2.0-258/sqoop/lib/ -i -t hdinsight /bin/bash
This was to complicated so I was trying to create docker-compose file like this
version: '2'
services:
hdinsight:
image: hdinsight
container_name: ABC
volumes:
- /etc/hadoop/conf:/etc/hadoop/conf
- /usr/lib/python2.7/dist-packages/hdinsight_common:/usr/lib/python2.7/dist-packages/hdinsight_common
- /etc/hive/conf/:/etc/hive/conf/
- /etc/tez/conf/:/etc/tez/conf/
- /usr/hdp/2.4.2.0-258/sqoop/lib/:/usr/hdp/2.4.2.0-258/sqoop/lib/
entrypoint:
- bash
labels:
- "HDInsight client VM"
But I am not sure where to pass -d
, -i
& -t
flages from my original docker run command
I was running docker-compose like this
docker-compose -f docker-compose.yml run hdinsight
can anyone point me to right direction here ?
UPDATE after first answer
I tried to run docker-compose up -d
root@abc-docker:~/ubuntu# docker-compose up -d
Creating ABC
root@sbd-docker:~/ubuntu# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffa4c359abf7 hdinsight "/bin/bash" 5 seconds ago Exited (0) 5 seconds ago ABC
root@sbd-docker:~/ubuntu#
Dont know why its in Exited
status
Any idea ?
Thanks
You should scour the Compose file docs.
Most docker run
commands have a compose equivalent and should all be listed there.
The background flag -d
goes after run
or up
.
The tty flag -t
and interactive flag -i
are not required as docker-compose run does this by default. You can add tty to individual containers in the compose file with -t
, but you cannot use interactive mode since you may start multiple containers simultaneously and can't interact with them all.
Regarding your situation, the command you're using should be working. If you add -d
after the run command it will run in the background. But I recommend using up
instead of run
, as it will simply start all containers in the file rather than you have to specify hindsight.