mats van reenen
mats van reenen

Reputation: 3

docker run command hangs until the container stops

I am trying to run a PPTP VPN server in a Docker container. but when I do the command docker run pptpserver, or all different container I have tried, It will work but my cursor is just flashing and does not let me do any other command. I tried a super simple one, just copying test.sh in the container and run it, and it prints a confined times test, but I want a container that's in the background.

test.sh:
#/bin/bash
while :; do
  echo "test"
  sleep 2
done

The only way I can stop it is to stop the container in another terminal. Is there something I can do to just run a container like it shouts do, in the background.

# docker version
Client:
 Version:   17.12.1-ce
 API version:   1.35
 Go version:    go1.10.1
 Git commit:    7390fc6
 Built: Wed Apr 18 01:23:11 2018
 OS/Arch:   linux/amd64

Server:
 Engine:
  Version:  17.12.1-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.10.1
  Git commit:   7390fc6
  Built:    Wed Feb 28 17:46:05 2018
  OS/Arch:  linux/amd64
  Experimental: false

Upvotes: 0

Views: 3724

Answers (1)

Hendrikvh
Hendrikvh

Reputation: 545

To prevent this, you should start a container in detached mode by specifying -d=true or just -d option. If this is not specified, docker defaults to foreground mode which attaches the console to the process inside your container's standard input, output and standard error, which makes it appear as if your terminal is "hanging".

So try:

docker run -d pptpserver

You can read more about this behaviour in the Docker Run Reference documentation.

Upvotes: 1

Related Questions