बैकग्राउंड मोड में चल रहे कंटेनर में बैश या एसएसएच कैसे प्राप्त करें?

मैं एक चल रहे डॉकर कंटेनर में एसएसएच या बैश करना चाहता हूं । कृपया, उदाहरण देखें:

$ sudo docker run -d webserverwebserver is clean image from ubuntu:14.04$ sudo docker psCONTAINER ID  IMAGE            COMMAND    CREATED STATUS  PORTS          NAMES665b4a1e17b6  webserver:latest /bin/bash  ...     ...     22/tcp, 80/tcp loving_heisenberg 

अब मैं ऐसा कुछ प्राप्त करना चाहता हूं (चल रहे कंटेनर में जाएं):

$ sudo docker run -t -i webserver (या शायद 665b4a1e17b6 इसके बजाय)
$ root@665b4a1e17b6:/#

हालांकि जब मैं ऊपर की रेखा चलाता हूं तो मुझे नई कंटेनर आईडी मिलती है:

$ root@42f1e37bd0e5:/#

मैंने योनि का इस्तेमाल किया और मैं एक समान व्यवहार प्राप्त करना चाहता हूं vagrant ssh.

जवाब डॉकर का है attach कमान। तो ऊपर मेरे उदाहरण के लिए, समाधान होगा:

$ sudo docker attach 665b4a1e17b6 #by IDor$ sudo docker attach loving_heisenberg #by Name$ root@665b4a1e17b6:/#

डॉकर संस्करण 1.3 या बाद के संस्करण के लिए: उपयोगकर्ता के लिए धन्यवाद WiR3D जिसने कंटेनर का खोल पाने का दूसरा तरीका सुझाया । अगर हम उपयोग करते हैं attach हम शेल के केवल एक उदाहरण का उपयोग कर सकते हैं । इसलिए यदि हम कंटेनर के शेल के नए उदाहरण के साथ एक नया टर्मिनल खोलना चाहते हैं, तो हमें बस निम्नलिखित को चलाने की आवश्यकता है:

$ sudo docker exec -i -t 665b4a1e17b6 /bin/bash #by ID

या

$ sudo docker exec -i -t loving_heisenberg /bin/bash #by Name$ root@665b4a1e17b6:/#