‫Persyaratan untuk kuliah ini adalah Anda tahu cara memulai wadah dari kuliah sebelumnya.
‫Kami baru saja menyelesaikan kuliah terakhir dengan membicarakan tentang melihat apa yang terjadi dalam sebuah wadah dari luar.
‫Ini semua tentang masuk ke wadah untuk dipusingkan dengan bagian dalam. Ada beberapa perintah yang bisa kita
‫gunakan.
‫Yang pertama adalah wadah dijalankan dengan -it.
‫Kita akan berbicara tentang cara kerjanya agar benar-benar mendapatkan shell di dalam wadah.
‫Kemudian untuk menjalankan kontainer yang ingin Anda jalankan proses kedua, Anda juga dapat menggunakan
‫exec kontainer, dan kami akan menunjukkan beberapa contohnya.
‫Kemudian di sepanjang jalan kita akan benar-benar menyebutkan beberapa perbedaan antara distribusi Linux biasa, seperti
‫Ubuntu, untuk menginstal pada mesin virtual atau pada perangkat keras.
‫Dan seperti apa distro Linux itu di dalam sebuah wadah.
‫Mari kita mulai.
‫Melihat ke dalam wadah dari luar sangat berguna di kali.
‫Tetapi salah satu pertanyaan pertama yang sering ditanyakan orang adalah bagaimana cara saya masuk ke dalam wadah dan
‫benar-benar melakukan hal-hal di dalamnya langsung dari baris perintah.
‫Kadang-kadang orang bingung dengan menginginkan Server SSH di dalam wadah mereka sehingga mereka dapat ssh ke
‫dalamnya.
‫Tapi kita sebenarnya tidak perlu melakukan itu karena kita memiliki beberapa perintah yang memungkinkan kita mendapatkan
‫shell di dalam wadah itu sendiri saat sedang berjalan.
‫Yang pertama adalah perintah menjalankan kontainer buruh pelabuhan.
‫Tapi kita akan menentukan beberapa opsi tambahan.
‫Kita akan melakukan -ya.
‫-Itu sebenarnya adalah dua opsi terpisah.
‫Jika saya hanya menunjukkan bantuan dengan sangat cepat, Anda dapat melihat bahwa t benar-benar memberi kami pseudo tty atau prompt yang
‫mirip dengan apa yang Anda miliki melalui ssh.
‫Dan kemudian jika kita gulir ke i, itu
‫benar-benar yang memungkinkan kita untuk menjaga sesi itu terbuka sehingga kita dapat terus menjalankan lebih banyak perintah.
‫Jika kita melakukan menjalankan buruh pelabuhan kontainer -it, dan kemudian jalankan nginx lain. Sebut saja proxy.
‫Maka kita harus menentukan perintah alternatif.
‫Jika Anda ingat di awal bagian ini di mana kami berbicara tentang format baris
‫perintah buruh pelabuhan, ketika Anda sedang menjalankan wadah buruh pelabuhan, seperti yang Anda lihat melalui bantuan, di sini di akhir,
‫setelah gambar, Anda harus perintah dan argumen opsional yang dapat Anda kirim ke wadah baru ini yang
‫akan Anda mulai katakan apa yang harus dijalankan. Gambar memiliki perintah default di dalamnya yang akan kita lihat
‫nanti bagaimana mengonfigurasi.
‫Tetapi jika Anda ingin mengubah apa yang dijalankan saat startup, Anda dapat melakukannya langsung dari run line.
‫Katakan saja Bash. Karena Bash adalah salah satu kerang umum yang biasanya Anda temukan di sebuah wadah
‫yang akan memberi Anda sebuah kerang untuk dikerjakan.
‫Lihat itu. Saya ada di prompt.
‫Anda akan melihat prompt saya mengatakan root yang merupakan pengguna tempat wadah dimulai. Sebenarnya bukan berarti saya root
‫pada host.
‫Itu hanya berarti saya bertindak sebagai root pada wadah.
‫Angka itu setelah itu sebenarnya adalah ID wadah.
‫Jika saya melakukan ls -al, saya mendapatkan daftar lengkap dari semua tempat saya berada.
‫Dan Anda dapat melihat bahwa saya berada di jalur root dari sistem file di dalam wadah.
‫Saya sebenarnya melihat semua file di dalam wadah yang didasarkan pada gambar Nginx.
‫Dari sini, saya dapat mengubah file konfigurasi, saya dapat
‫mengunduh paket dari internet dan melakukan segala hal administrasi yang biasa Anda
‫lakukan dari shell normal.
‫Untuk keluar dari shell setelah selesai, saya akan mengetik keluar, seperti yang Anda lakukan dengan shell dan sekarang wadah
‫itu telah berhenti.
‫Jika kita benar-benar melakukan kontainer buruh pelabuhan, Anda tidak akan melihatnya di sana.
‫Ingat, kami menyebutnya proxy.
‫Jadi saya harus melakukan -a.
‫Dan itu ada di sana. Sekarang lihat perintah yang dijalankannya. Perintah default untuk wadah Nginx adalah menjalankan
‫program Nginx itu sendiri.
‫Tetapi ketika kami mengetik perintah terakhir kami, kami mengubah program default itu menjadi
‫Bash, yang memberi kami shell. Ketika kami keluar dari shell, wadah itu berhenti. Karena wadah s hanya berjalan
‫selama perintah yang dijalankan saat startup berjalan. Karena kami mengubahnya ke Bash, cukup keluar dari Bash,
‫hentikan Sekarang,
‫bagaimana jika saya menggunakan distribusi penuh Linux alih-alih benar-benar melakukan Nginx. Mari kita lakukan Ubuntu
‫penuh.
‫Ini sebenarnya akan mengunduh gambar Ubuntu dan menempatkan saya di prompt wadah baru ini.
‫Jika Anda pernah menggunakan Ubuntu, Anda tahu tentang manajer paket yang tepat.
‫Jadi saya bisa menggunakannya di sini. Sama seperti yang saya lakukan di server Ubuntu standar. Saya sebenarnya bisa menginstal
‫sesuatu apt-get
‫install -y curl.
‫Hal tentang Ubuntu dan distribusi lainnya di dalam sebuah wadah adalah biasanya sangat minim.
‫CD langsung atau unduhan ISO Ubuntu yang biasanya Anda pakai di mesin virtual akan memiliki lebih banyak perangkat
‫lunak yang diinstal secara default daripada wadah Ubuntu yang benar-benar versi Ubuntu yang sangat minim yang selalu
‫dapat Anda tambahkan lebih banyak. perangkat lunak untuk dengan manajer paket yang tepat.
‫Jadi sekarang wadah yang berjalan ini memiliki ikal yang terpasang dan saya dapat menggunakannya sama seperti yang saya lakukan pada mesin lokal.
‫Setelah saya keluar dari shell lagi, itu benar-benar akan menghentikan wadah. kontainer buruh pelabuhan
‫ls. Anda perhatikan saya tidak melihatnya. Ada gambar Ubuntu yang baru saja kita jalankan.
‫Jika saya mulai wadah itu lagi, itu akan ikal terpasang di dalamnya.
‫Tetapi jika saya membuat wadah baru dari gambar Ubuntu, wadah yang berbeda itu tidak akan menginstal
‫baris perintah curl.
‫Bagaimana jika kami ingin menjalankan kembali wadah itu dan mendapatkan kembali Bash di dalamnya lagi.
‫Kita bisa menggunakan perintah start docker container.
‫Anda akan melihat itu sedikit berbeda ketika kami memulai wadah yang ada, tetapi mirip
‫dengan itu ... itu hanya ai.
‫Lalu nama wadah kami Ubuntu. Anda akan melihat kami kembali di dalamnya dan
‫saya dapat mengeriting google lagi dan berfungsi.
‫Jika saya keluar, itu berhenti lagi.
‫Bagaimana jika saya ingin benar-benar melihat shell di dalam wadah yang sedang berjalan yang sudah menjalankan
‫sesuatu seperti MySQL atau Nginx.
‫Kita juga bisa melakukannya.
‫Dan itu menggunakan perintah exec. eksekutif buruh pelabuhan.
‫Dan Anda dapat melihat kami memiliki beberapa opsi di sini.
‫Dan yang paling umum adalah ... katakanlah saya ingin melompat ke wadah MySQL karena saya perlu
‫melakukan beberapa hal administratif pada MySQL itu sendiri.
‫Saya bisa melakukannya lagi dan kemudian nama wadahnya. Maka program yang ingin saya jalankan.
‫Dan dalam hal ini lagi Bash dan saya sekarang berada dalam wadah dengan MySQL.
‫Saya benar-benar dapat melakukan aux ps tepat di dalam wadah yang berisi daftar proses. Ini akan, tentu saja, menunjukkan kepada saya daemon
‫MySQL yang berjalan di latar belakang, serta proses Bash yang saya duduki saat
‫ini, serta perintah ps yang baru
‫saja saya jalankan. Dalam shell ini, saya bisa melompat ke MySQL itu sendiri dengan baris perintah mysql. Anda akan melihat ketika saya
‫keluar dari Bash shell ini dan melakukan ls, MySQL masih berjalan. Karena pelaksana kontainer buruh pelabuhan benar-benar menjalankan proses tambahan pada
‫wadah berjalan yang ada, itu tidak akan mempengaruhi
‫proses root untuk daemon MySQL. Mari kita coba satu lagi.
‫Seperti yang Anda lihat di sini, ini sangat berguna untuk melompat ke dalam wadah ketika
‫Anda perlu memecahkan masalah atau ketika Anda perlu mengubah sesuatu sedikit pada sistem yang sedang berjalan, serta menggunakan wadah dari
‫distribusi yang berbeda untuk memberi Anda lingkungan yang akan Anda miliki jika Anda memiliki mesin lengkap seperti
‫Ubuntu atau Alpine.
‫Sekarang apa itu Alpine? Kami belum menyebutkan Alpine sebelumnya. Alpine adalah distribusi Linux lain, tetapi Alpine
‫dirancang untuk menjadi sangat kecil.
‫Ini sebenarnya hanya berukuran 5MB.
‫Jika saya melakukan docker pull alpine, itu akan menarik ke bawah gambar Alpine terbaru dan jika saya melakukan docker
‫image ls, Anda benar-benar dapat melihat seberapa kecil gambar Alpine dibandingkan dengan Ubuntu.
‫Yang rapi tentang Alpine adalah bahwa ia juga dilengkapi dengan manajer paketnya sendiri.
‫Jadi Anda akan melihat Alpine sebagai opsi pada Docker Hub di bagian selanjutnya ketika kita membahas gambar dan
‫Docker Hub.
‫Tapi untuk sekarang mari kita lakukan Bash shell di dalam Alpine. buruh pelabuhan kontainer -it alpine bash.
‫Sekarang apa yang baru saja terjadi di sini?
‫Mengapa saya masuk ke sana?
‫Ini memberitahu saya bahwa ini memulai proses penampung dan itu menyebabkan file executable
‫bash tidak ditemukan di path. Dan apa yang sebenarnya berarti adalah bahwa Bash tidak ada di dalam wadah.
‫Dan ini kembali ke konsep bahwa kita hanya bisa menjalankan hal-hal dalam wadah yang sudah ada
‫dalam
‫gambarnya ketika Anda memulainya.
‫Atau mungkin sesuatu yang Anda tambahkan nanti melalui exec atau menjalankan perintah.
‫Tetapi dalam kasus ini, bagaimana saya bisa mendapatkan gambar Alpine?
‫Yah, Alpine sangat kecil sehingga tidak benar-benar memiliki Bash di dalamnya. Tapi itu memang memiliki sh. Jadi kita dapat mengganti perintah dengan
‫sh, yang tidak cukup lengkap dengan fitur Bash tetapi tidak membuat kita langsung ke dalam wadah.
‫Jika Anda mencari di Alpine Linux di internet, Anda akan mengetahui bahwa pengelola
‫paketnya adalah apk dan kami benar-benar dapat menggunakannya untuk menginstal Bash jika kami benar-benar membutuhkannya.
‫Hanya untuk meringkas dengan cepat apa yang kami pelajari dalam pelajaran ini.
‫Kami belajar tentang opsi -itu untuk menjalankan kontainer, yang memberi kami setara dengan shell interaktif untuk benar-benar
‫melakukan hal-hal dalam wadah seperti yang kami lakukan jika kami ssh'd ke server semacam.
‫Kemudian kami belajar perintah
‫baru untuk kontainer docker exec dengan itu yang melakukan hal yang persis sama seperti menjalankan, tetapi melakukannya
‫pada wadah yang sudah ada yang berjalan tidak memulai wadah baru.
‫Dan yang terakhir, kami belajar sedikit tentang Alpine dan bagaimana itu berbeda dari distribusi Linux
‫utama dan bagaimana sebenarnya ukurannya 4MB dan ideal untuk gambar kontainer.