Jak połączyć się z kontenerem Docker za pośrednictwem SSH
- 2561
- 418
- Natan Cholewa
Po zainstalowaniu Docker w Fedora, Almalinux, Manjaro lub innym dystrybucji, czas zainstalować więcej kontenerów. Po uruchomieniu kontenera Docker w systemie Linux, jedną z rzeczy, które prawdopodobnie musisz zrobić, jest uruchomienie poleceń wewnątrz pojemnika. Pozwala to korzystać z pojemnika podobnie do tego, jak byłbyś maszyną fizyczną, z tym wyjątkiem, że Docker wykonał dla nas większość nóg konfiguracji.
Dostępne są już dwa polecenia, które pozwalają nam uruchamiać polecenia na kontenerze Docker. Pierwszy jest Docker Exec
, a drugie polecenie, które pozwala nam dołączyć do działającego pojemnika, jest Docker dołącz
. Te polecenia zwykle wystarczą, ale możesz znaleźć się w scenariuszu, w którym wolisz używać SSH do połączenia się z kontenerem Docker i zarządzać nim.
Nie wszystkie kontenery Docker są udostępniane do uruchomienia SSH. Zwykle kontenery Docker są bardzo lekkie i zaprogramowane tylko do zrobienia jednej rzeczy. Jednak niektóre kontenery Docker pozwolą SSH, a to może znacznie ułatwić zarządzanie kontenerem. W tym przewodniku zobaczymy, jak połączyć się z kontenerem Docker za pośrednictwem SSH z systemu hosta w wierszu poleceń Linux.
W tym samouczku nauczysz się:
- Jak połączyć się z działającym kontenerem Docker za pośrednictwem SSH
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Każda dystrybucja Linux |
Oprogramowanie | Doker |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny |
Połącz się z kontenerem Docker za pośrednictwem SSH
W tym przykładzie zainstalowaliśmy już Docker i obraz Nginx za pomocą Docker Pull Nginx
Komenda. Postępuj zgodnie z poniższymi instrukcjami krok po kroku, aby zobaczyć, w jaki sposób określamy adres IP kontenera, a następnie użyć polecenia SSH, aby połączyć się z działającym kontenerem.
- Po pierwsze, kontener Docker musi działać aktywnie. Upewnij się, że już go zacząłeś, używając następującego polecenia. Zwróć uwagę jeszcze raz, że używamy obrazu Nginx, ale możesz zastąpić nazwę własnego obrazu w tym poleceniu i przyszłych poleceń.
$ Docker Run -Nazwa nginx -d nginx
- Sprawdź, czy pojemnik działa, a także nazwa pojemnika, z tym poleceniem.
$ Docker Ps
Przeglądanie aktualnie działających kontenerów Docker w naszym systemie - Możemy teraz użyć następującego polecenia, aby określić adres IP naszego kontenera Nginx.
$ Docker Inspect -f " .Ustawienia sieci.Ipaddress "nginx
- W naszym przypadku kontener Nginx ma adres IP
172.17.0.2
. Możemy teraz spróbować połączyć się z tym adresem IP za pośrednictwem SSH i konta głównego.$ ssh [email protected]
W tym momencie albo pomyślnie połączysz się z działającym kontenerem, albo otrzymasz błąd „Odmówienie połączenia”. W przypadku błędu kontynuuj następujące kroki, aby skonfigurować serwer SSH na kontenerze.
- Jeśli SSH nie działa, musimy upewnić się, że oprogramowanie jest zainstalowane na kontenerze. Podłącz się do kontenera z następującym poleceniem.
$ Docker Exec -it nginx /bin /bash
- Następnie zainstaluj na nim SSH. Używamy
trafny
Menedżer pakietów w tym przykładzie, ale może być konieczne dostosowanie polecenia, jeśli kontener korzysta z innego menedżera pakietów.# apt aktualizacja && apt -y instaluj openSsh -server
- Następnie skonfiguruj kontener, abyśmy mogli zalogować się do konta głównego za pośrednictwem SSH.
# echo "Percitrootlogin Tak" >>/etc/ssh/sshd_config
- Nie zapomnij zmienić hasła root, abyś mógł się zalogować.
# passwd
- Na koniec rozpocznij usługę SSH na kontenerze.
# /etc /init.D/ssh start
- Teraz będziesz mógł ssh z komputera hosta, określając określony wcześniej adres IP, i używając hasła roota, dla którego właśnie skonfigurowałeś hasło.
$ ssh [email protected]
Tutaj określamy adres IP kontenera Docker, w którym chcemy SSH
Możemy teraz z powodzeniem SSH do kontenera Docker
To wszystko. Teraz możesz połączyć się z działającym kontenerem za pośrednictwem SSH, aby uruchomić polecenia i zarządzać nim. Oczywiście metoda stosowania Docker Exec
Dowództwo powinno również kontynuować pracę i może osiągnąć to samo.
Zamykanie myśli
W tym przewodniku widzieliśmy, jak połączyć się z działającym kontenerem Docker z systemu hosta za pośrednictwem SSH. Docker daje nam już wiele sposobów połączenia się z kontenerem, ale możliwość SSH do kontenerów może być przyjemna w niektórych sytuacjach. Trudna część polega na tym, że większość kontenerów nie ma jeszcze zainstalowanej SSH, ponieważ zwykle są one skonfigurowane z absolutnymi wymaganiami. To wymaga kilku dodatkowych kroków z naszej strony, ale jak tu widziałeś, nie jest to trudne do zrobienia.
Powiązane samouczki Linux:
- Instalacja Manjaro Linux
- Przewodnik dla początkujących Manjaro Linux
- Manjaro Linux Windows 10 Dual Boot
- Jak migrować z Centos do Almalinux
- Zainstaluj Manjaro w VirtualBox
- Instalacja Almalinux
- Jak skonfigurować serwer FTP/SFTP i klient na Almalinux
- Rzeczy do zainstalowania na Ubuntu 20.04
- Zainstaluj Manjaro Architect Edition
- Utwórz bootabilne USB Manjaro Linux