Bagaimana memasuki SSH di sebuah Container Docker yang Runningan menjlankan Commands

Bagaimana memasuki SSH di sebuah Container Docker yang Runningan menjlankan Commands
February 22, 2023 No Comments Docker G6k1JiPxqm

Perkenalan

Docker adalah utilitas yang memungkinkan Anda membuat  wadah untuk menjalankan aplikasi. Kontainer 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 + T atau Ctrl + Alt + F2 )
  • Akun pengguna dengan   hak sudo

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

Perintah docker execmenjalankan perintah yang ditentukan di dalam wadah yang sudah berjalan. Anda dapat menggunakannya untuk SSH ke wadah Docker dengan membuat bash shell ( shell tempat Anda dapat mengetikkan perintah ).

Sintaks dasar untuk menggunakan docker execuntuk menjalankan perintah dalam wadah adalah:

docker exec [options] [container] [command]

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

sudo docker pull nginx
buruh pelabuhan menarik gambar di baris perintah

Kemudian, jalankan gambar:

sudo docker run ––name nginx–test –d nginx
docker menjalankan perintah gambar di terminal linux

Buat daftar semua wadah yang sedang berjalan untuk diverifikasi:

sudo docker ps

Anda sekarang akan melihat gambar nginx-test Anda dimuat.

perintah docker ps untuk mendaftar semua container docker yang sedang berjalan

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

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

Sekarang, Anda masuk ke wadah nginx-test . Oleh karena itu, perintah apa pun yang Anda masukkan akan dijalankan di wadah itu. Opsi –imenentukan interactive , dan –tmengaktifkan antarmuka pengetikan terminal .

jalankan perintah pada gambar buruh pelabuhan tertentu

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

Perintah docker attachmenautkan aliran input, output, dan kesalahan lokal ke sebuah wadah. Secara default, ini diluncurkan di bash Shell . Untuk terhubung ke wadah yang sedang berjalan, masukkan yang berikut ini:

sudo docker attach container_Name

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

sudo docker attach nginx-test
terhubung ke gambar buruh pelabuhan dengan docker attach

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 Kontainer Docker

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

Penting : Kami tidak merekomendasikan metode ini, karena ini mengembang gambar di luar cakupan normal. Anda harus memiliki gambar dengan SSL yang sudah dikonfigurasi agar ini berfungsi.

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 Kontainer

Dapatkan alamat IP penampung dengan menggunakan docker inspectperintah dan memfilter 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
buruh pelabuhan memeriksa perintah untuk mendapatkan alamat ip wadah buruh pelabuhan

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

Catatan:  Kontainer buruh pelabuhan yang ditargetkan harus berjalan untuk mendapatkan alamat IP-nya. Jika Anda perlu memulai wadah buruh pelabuhan yang ada, jalankan sudo docker start container_name.

Langkah 3: SSH Ke Kontainer Docker

Ping alamat IP untuk memastikan itu tersedia:

ping –c 3 172.17.0.2
ping wadah buruh pelabuhan untuk memverifikasi alamat ip

Gunakan alat SSH untuk terhubung ke gambar:

ssh root@172.17.0.2

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

Kesimpulan

Kontainer Docker ringan dan transisional, jadi koneksi SSH tradisional tidak disarankan. Metode yang disarankan untuk menjalankan perintah dalam wadah Docker adalah docker execatau docker attach.

Jika Anda menyediakan beberapa mesin virtual jarak jauh, Anda dapat menggunakan docker-machine sshperintah untuk terhubung ke mesin virtual melalui Docker. Untuk sebagian besar pengguna, dua metode perintah pertama direkomendasikan.

About The Author

Leave a reply

Your email address will not be published. Required fields are marked *