INDO GLOBAL PRATAMA
The world in your hands
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
Perintah docker exec
menjalankan 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 exec
untuk 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
Kemudian, jalankan gambar:
sudo docker run ––name nginx–test –d nginx
Buat daftar semua wadah 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 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 –i
menentukan interactive , dan –t
mengaktifkan antarmuka pengetikan terminal .
Perintah docker attach
menautkan 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
Setelah perintah dijalankan, Anda akan bekerja di dalam wadah. Perintah apa pun yang Anda jalankan akan memengaruhi lingkungan Docker virtual.
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.
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
yum –y install openssh-server openssh-clients
service sshd start
service sshd enable
service sshd status
Dapatkan alamat IP penampung dengan menggunakan docker inspect
perintah 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
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
.
Ping alamat IP untuk memastikan itu tersedia:
ping –c 3 172.17.0.2
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 exec
atau docker attach
.
Jika Anda menyediakan beberapa mesin virtual jarak jauh, Anda dapat menggunakan docker-machine ssh
perintah untuk terhubung ke mesin virtual melalui Docker. Untuk sebagian besar pengguna, dua metode perintah pertama direkomendasikan.