DEV Community

atrooo
atrooo

Posted on

3 2

Run and attach to a Docker container with a tiny command

For more information, see the Docker reference

This command runs an interactive (-i) container from the given image with an allocated tty (-t)

$ docker run -it image-name
Enter fullscreen mode Exit fullscreen mode

You can make a convenience function to execute this with a short command and the image name as an argument by adding the following to your .bashrc or .zshrc:

# run detached container, start interactive session
dat() {
  image=${1}
  if [ -z "$image" ]; then
    echo Please provide an image name
    return
  fi

  docker run -it $image
}
Enter fullscreen mode Exit fullscreen mode

To use:

dat image:tho
Enter fullscreen mode Exit fullscreen mode

You'll need to reload your shell or run source ~/.zshrc (or ~/.bashrc) for the file changes to take effect.

Look you saved like 10 characters!

So what?

Ok so it's a little more reasonable when you start adding more options to the command...

For example, I found myself needing to build and run a container with an explicit platform set because I'm on an M1 chip and they're just fun like that.

# ~/.zshrc
datp() {
  image=${1}
  if [ -z "$image" ]; then
    echo Please provide an image name
    return
  fi
  docker run -it --platform linux/x86_64 $image
}

dim() {
  image=${1}
  if [ -z "$image" ]; then
    echo Please provide an image name
    return
  fi

  docker build -t $image -f Dockerfile .
}

dimp() {
  image=${1}
  if [ -z "$image" ]; then
    echo Please provide an image name
    return
  fi

  docker build -t $image -f Dockerfile --platform linux/x86_64 .
}
Enter fullscreen mode Exit fullscreen mode

Bam! With a dimp and a datp, I'm off to the races. The really slow races because I'm building for amd64 on an M1.

dimp myimage

datp myimage
Enter fullscreen mode Exit fullscreen mode

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (1)

Collapse
 
sso profile image
Sall

Nice, I am want to integrate something similar as testing kit to:

z.digitalclouds.dev/ 🧙‍‍♀️

However always struggling to find the time for it 🤦‍♂️ 😅

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs