How can I run docker container without entering into container

14,435

Solution 1

You can start your container in a detached mode:

docker run -it -d my_container

The -d option here means your container will run in "detached" mode, in the background.

If you want to attach the container and drop to a shell, you can use:

docker exec -it my_container /bin/bash

Note, if your container is based on an alpine image, you need to use sh, i.e.:

docker exec -it my_container /bin/sh 

Solution 2

You can't do that. Your container lives if its main process is running, so you have to have a main process which is the process with PID 1 inside your container, and your container will be up if that process is running.

Share:
14,435
nick_gabpe
Author by

nick_gabpe

By Day Senior QA automation engineer python and C#. By Night I sleep at night. Hobby -- Bicycle and board games. %Smart quote%

Updated on June 27, 2022

Comments

  • nick_gabpe
    nick_gabpe almost 2 years

    I have Dockefile

    FROM centos:7
    

    So I have no entrypoint in dockerfile. Then I build it to image

    sudo docker build -t my_container .
    

    Then I start it.

    sudo docker run -t my_container
    

    And I get open tty to container

    root@my_container_id/
    

    If I start it without -t it stopped immidiately after start. How can I run docker container without start tty and without entrypoint?