How do you start a Docker-ubuntu container into bash?

后端 未结 2 1696
没有蜡笔的小新
没有蜡笔的小新 2021-02-01 16:41

The answers from this question do not work.

The docker container always exits before I can attach or won\'t accept the -t flag. I could list al

2条回答
  •  难免孤独
    2021-02-01 16:47

    Here is a very simple Dockerfile with instructions as comments ... launch it to spin up a running container you can exec login to

    FROM ubuntu:20.04
    
    ENV TERM linux
    ENV DEBIAN_FRONTEND noninteractive
    
    RUN apt-get update
    RUN apt-get install -y  
    
    CMD ["/bin/bash"]
    
    
    # ... save this file as Dockerfile then in same dir issue following
    #
    # docker build --tag stens_ubuntu .   # creates image stens_ubuntu
    #
    # docker run -d  stens_ubuntu  sleep infinity # launches container 
    #
    # docker ps     #   show running containers
    #
    # 
    # ... find CONTAINER ID from above and put into something like this
    #
    # docker exec -ti $( docker ps | grep stens_ubuntu | cut -d' ' -f1 ) bash   #  login to running container
    # docker exec -ti 3cea1993ed28 bash   #  login to running container using sample containerId  
    #
    

    A container will exit normally when it has no work to do ... if you give it no work it will exit immediately upon launch for this reason ... typically the last command of your Dockerfile is the execution of some flavor of a server which stays alive due to an internal event loop and in so doing keeps alive its enclosing container ... short of that you can mention a server executable which has been installed into the container as the final parameter of your call to

    docker run -d  my-image-name  my-server-executable
    

提交回复
热议问题