GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara SSH ke dalam Running Docker Container dan Jalankan Perintah

Pendahuluan

Pekerja Buruh adalah utilitas yang memungkinkan Anda membuat wadah untuk menjalankan aplikasi. Wadah Docker adalah mesin virtual yang lengkap.

Panduan ini akan menunjukkan kepada Anda tiga metode untuk SSH ke dalam wadah Docker dan menjalankan perintah.

Prasyarat

  • Sistem Linux yang menjalankan Docker
  • Kontainer yang telah dikonfigurasi sebelumnya dimuat dan dijalankan
  • Akses ke jendela terminal/prompt perintah (Ctrl +Alt +B atau Ctrl +Alt +F2 )
  • Akun pengguna dengan sudo hak istimewa

Metode 1:Gunakan docker exec untuk Menjalankan Perintah di Wadah Docker

docker exec perintah menjalankan perintah yang ditentukan dalam wadah yang sudah berjalan. Anda dapat menggunakannya untuk SSH ke dalam wadah Docker dengan membuat bash shell (shell tempat Anda dapat mengetik perintah).

Sintaks dasar untuk menggunakan docker exec untuk menjalankan perintah dalam container adalah:

docker exec [options] [container] [command]

Mulailah dengan menarik gambar Docker jika Anda belum melakukannya. Misalnya, Anda dapat memuat Nginx :

sudo docker pull nginx

Kemudian, jalankan gambar:

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

Daftar semua container yang sedang berjalan untuk diverifikasi:

sudo docker ps

Anda sekarang akan melihat gambar nginx-test Anda dimuat.

Untuk mendapatkan akses dan menjalankan perintah di wadah Docker itu, ketikkan yang berikut:

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

Sekarang, Anda masuk ke nginx-test wadah. Oleh karena itu, perintah apa pun yang Anda masukkan akan dijalankan di wadah itu. –i opsi menentukan interaktif , dan –t mengaktifkan pengetikan terminal antarmuka.

Metode 2:Gunakan docker attach Command untuk Menghubungkan ke Running Container

docker attach perintah menautkan input, output, dan aliran kesalahan lokal ke wadah. Secara default, ini diluncurkan dalam bash kulit . Untuk terhubung ke container yang sedang berjalan, masukkan berikut ini:

sudo docker attach container_Name

Pada contoh di bawah, sistem akan terhubung ke nginx-test wadah:

sudo docker attach nginx-test

Setelah perintah dijalankan, Anda akan bekerja di dalam wadah. Perintah apa pun yang Anda jalankan akan memengaruhi lingkungan Docker virtual.

Metode 3:Gunakan SSH untuk Menghubungkan ke Wadah Docker

Anda dapat terhubung ke wadah Docker menggunakan SSH (Secure Shell). Biasanya, SSH digunakan untuk menghubungkan dari jarak jauh melalui jaringan ke server. Teknologi ini bekerja dengan cara yang sama saat menghubungkan ke wadah Docker virtual di sistem Anda.

Langkah 1:Aktifkan SSH di Sistem

Mulailah dengan menginstal dan mengaktifkan layanan SSH:

Aktifkan SSH di Ubuntu 18.04:

sudo apt-get install ssh

sudo systemctl ssh start

sudo systemctl ssh enable

service ssh status

Aktifkan SSH di CentOS 7:

yum –y install openssh-server openssh-clients

service sshd start

service sshd enable

service sshd status

Langkah 2:Dapatkan Alamat IP Penampung

Dapatkan alamat IP container dengan menggunakan docker inspect perintah dan menyaring hasilnya.

Untuk mesin Docker modern, gunakan perintah:

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

Untuk mesin Docker lama, jalankan:

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

Sistem akan menampilkan alamat IP seperti yang terlihat pada gambar di atas.

Langkah 3:SSH Ke Wadah Docker

Ping alamat IP untuk memastikannya tersedia:

ping –c 3 172.17.0.2

Gunakan alat SSH untuk menghubungkan ke gambar:

ssh [email protected]

Sistem harus meminta kata sandi pengguna root untuk wadah itu. Jika tertulis Sambungan ditolak , kemungkinan wadah tidak disediakan untuk SSH. Jika prompt berubah, Anda sekarang terhubung melalui SSH, dan dapat menjalankan perintah di container.


Ubuntu
  1. Cara menginstal dan mengatur Docker Container di Rocky Linux 8

  2. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  3. Cara Menjalankan MySQL Dalam Wadah Docker

  1. Bagaimana Cara Menjalankan Perintah Di Dalam Wadah Systemd yang Berjalan?

  2. Cara SSH Ke Wadah Docker

  3. Cara Menjalankan Perintah di Running Docker Container

  1. Cara Menyebarkan dan Menjalankan Redis di Docker

  2. Cara Menginstal dan Menggunakan Podman (Alternatif Docker) di Ubuntu 20.04

  3. Bagaimana cara menjalankan perintah secara otomatis pada login SSH?