GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak vložit SSH do běžícího kontejneru Docker a spustit příkazy

Úvod

Docker je nástroj, který vám umožní vytvořit kontejner pro spouštění aplikací. Kontejner Docker je plně uzavřený virtuální stroj.

Tato příručka vám ukáže tři metody pro SSH do kontejneru Docker a spouštění příkazů.

Předpoklady

  • Systém Linux se systémem Docker
  • Předem nakonfigurované kontejnery načteny a spuštěny
  • Přístup k oknu terminálu/příkazovému řádku (Ctrl +Alt +T nebo Ctrl +Alt +F2 )
  • Uživatelský účet s sudo privilegia

Metoda 1:Použijte docker exec ke spouštění příkazů v kontejneru Docker

docker exec příkaz spustí zadaný příkaz v již spuštěném kontejneru. Můžete jej použít k SSH do kontejneru Docker vytvořením bash shellu (shell, kde můžete psát příkazy).

Základní syntaxe pro použití docker exec spustit příkaz v kontejnerech je:

docker exec [options] [container] [command]

Začněte stažením obrázku Dockeru, pokud jste to ještě neudělali. Můžete například načíst Nginx :

sudo docker pull nginx

Poté spusťte obrázek:

sudo docker run ––name nginx–test –d nginx

Seznam všech běžících kontejnerů k ověření:

sudo docker ps

Nyní byste měli vidět načtený obrázek testu nginx.

Chcete-li získat přístup a spustit příkazy v tomto kontejneru Docker, zadejte následující:

sudo docker exec –it nginx-test /bin/bash

Nyní jste přihlášeni k nginx-testu kontejner. Všechny příkazy, které zadáte, se tedy provedou v tomto kontejneru. –i volba určuje interaktivní a –t umožňuje psaní na terminálu rozhraní.

Metoda 2:Pro připojení k běžícímu kontejneru použijte příkaz pro připojení dockeru

docker attach příkaz spojuje místní vstup, výstup a chybový proud s kontejnerem. Ve výchozím nastavení se spouští v bash shell . Chcete-li se připojit k běžícímu kontejneru, zadejte následující:

sudo docker attach container_Name

V níže uvedeném příkladu se systém připojí k nginx-testu kontejner:

sudo docker attach nginx-test

Po provedení příkazu budete pracovat v kontejneru. Jakékoli příkazy, které spustíte, ovlivní prostředí virtuálního Dockeru.

Metoda 3:Použijte SSH pro připojení ke kontejneru Docker

Ke kontejneru Docker se můžete připojit pomocí SSH (Secure Shell). Normálně se SSH používá pro vzdálené připojení přes síť k serveru. Tato technologie funguje stejně při připojení k virtuálnímu kontejneru Docker ve vašem systému.

Krok 1:Povolte SSH v systému

Začněte instalací a povolením služby SSH:

Povolte SSH na Ubuntu 18.04:

sudo apt-get install ssh

sudo systemctl ssh start

sudo systemctl ssh enable

service ssh status

Povolte SSH na CentOS 7:

yum –y install openssh-server openssh-clients

service sshd start

service sshd enable

service sshd status

Krok 2:Získejte IP adresu kontejneru

Získejte IP adresu kontejneru pomocí docker inspect příkaz a filtrování výsledků.

Pro moderní motory Docker použijte příkaz:

sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" container_name

U starších motorů Docker spusťte:

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name

Systém zobrazí IP adresu, jak je vidět na obrázku výše.

Krok 3:SSH do kontejneru Docker

Odešlete příkaz ping na IP adresu, abyste se ujistili, že je dostupná:

ping –c 3 172.17.0.2

Pro připojení k obrazu použijte nástroj SSH:

ssh [email protected]

Systém by měl požádat o heslo uživatele root pro tento kontejner. Pokud je uvedeno Připojení odmítnuto , kontejner pravděpodobně není zřízen pro SSH. Pokud se výzva změní, jste nyní připojeni přes SSH a můžete spouštět příkazy v kontejneru.


Ubuntu
  1. Jak nainstalovat a nastavit Docker Container na Rocky Linux 8

  2. Jak spustit program uvnitř kontejneru Docker?

  3. Jak spustit MySQL v kontejneru Docker

  1. Jak spustit příkaz uvnitř spuštěného kontejneru Systemd?

  2. Jak SSH do kontejneru Docker

  3. Jak spustit příkaz na spuštěném kontejneru Docker

  1. Jak nasadit a spustit Redis v Dockeru

  2. Jak nainstalovat a používat Podman (Docker Alternative) na Ubuntu 20.04

  3. Jak automaticky spouštět příkazy při přihlášení SSH?