dockerをdaemonで/bin/bashを実行する方法

1432 ワード

この文書は次のとおりです.https://segmentfault.com/q/1010000000424935
質問:
docker runの時、-dパラメータで/bin/bashを実行して、このbashをずっと走らせたいので、私が使うときはdocker attachに行きます.でも私が走るとdocker run-d..../bin/bash、この容器は運転が終わり止まりました.これは毛のためですね.何か解決策がありますか.
解決:
私自身もこの問題に遭遇した.しかし、異なる場合、docker runの場合、コンテナをバックグラウンドでずっと実行し、リモートログイン操作を許可することを望んでいます.
私は文章をコピーしました:sshは遠隔で1つの容器に上陸します
----コンテンツ開始----
コンテナを起動したら、sshでログインして操作する必要があるかもしれません.この目的を達成するために、2つの保証が必要です.
  • コンテナは稼働している必要があります.
  • openssh-serverは起動状態です.
  •  : ubuntu/13.10 
    

    まず、ミラーにopenssh-serverサービスがインストールされていることを確認します.
    #  ssh ,so, 
    apt-get install openssh-server
    #  
    passwd 123
    ...

    次に、ミラーをコミットします.
    docker commit CONTAINER_ID NAME/VERSION

    最後に、ミラーを実行し、生成されたコンテナをバックグラウンドで実行します.
    #  -d 
    #  -D ssh daemon , 
    docker run -d NAME/VERSION /etc/init.d/ssh start -D

    今、sshが容器に上陸できるようになりました.
    #  IP
    docker inspect CONTAINER_ID | grep IP
    
    #  
    ssh root@IP
    #   123 
    #  , passwd