Skip to content

Instantly share code, notes, and snippets.

@mitchwongho
Last active September 23, 2024 12:09
Show Gist options
  • Save mitchwongho/11266726 to your computer and use it in GitHub Desktop.
Save mitchwongho/11266726 to your computer and use it in GitHub Desktop.
Docker 'run' command to start an interactive BaSH session
# Assuming an Ubuntu Docker image
$ docker run -it <image> /bin/bash
@teebu
Copy link

teebu commented May 28, 2020

If you want to interact with an existing container, do:

docker exec -it <name> bash

(alpine has sh)
docker exec -it <name> sh

@sdrycroft
Copy link

This won't work if your image has a defined ENTRYPOINT. For these cases use:
docker run -it --entrypoint /bin/bash <image>

🙌 Works for all, just use this!

docker run -it stands for docker run --interactive --tty. Found this info it in man docker-run.

Good to know

@stokito
Copy link

stokito commented Nov 22, 2020

I proposed to add a new command docker shell. Please leave your thought and vote

@montaro
Copy link

montaro commented Jan 13, 2021

Thanks!

@RafaelWO
Copy link

RafaelWO commented Feb 7, 2021

For me none of the above commands worked. I ran docker inspect <image> and got

...
"Cmd": [
  "src/service.py"
],
"Entrypoint": [
  "python"
],
...

I figured out that docker run -it --entrypoint "" <image> sh works in this case.

@mitchwongho
Copy link
Author

mitchwongho commented Feb 7, 2021 via email

@christian-frei
Copy link

I have this in my Dockerfile to run java 16 (watch out for the modified java.security part)

FROM adoptopenjdk/openjdk16:jre-16.0.1_9-ubi-minimal

ARG RUN_JAVA_VERSION=1.3.8
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
RUN microdnf install curl ca-certificates \
    && microdnf update \
    && microdnf clean all \
    && mkdir /deployments \
    && chown 1001 /deployments \
    && chmod "g+rwX" /deployments \
    && chown 1001:root /deployments \
    && curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
    && chown 1001 /deployments/run-java.sh \
    && chmod 540 /deployments/run-java.sh \
    && echo "securerandom.source=file:/dev/urandom" >> /opt/java/openjdk/conf/security/java.security

@pere000
Copy link

pere000 commented Feb 1, 2022

sudo docker run -it --entrypoint /bin/bash node:latest #Thanks to @jghaines
...........9e0d1dcbc703 node:latest "/bin/bash" 12 minutes ago Up 12 minutes trusting_yonath #Thanks to Solomon Hykes
sudo docker trusting_yonath bash -c "echo 'Hello World, again!' >> file.txt" #Thanks to Stackoverflow
...........bin boot dev etc file.txt home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var #Thanks to Stallman&Torvalds

Thanks to Github

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment