Building Small Containers (Kubernetes Best Practices)
Daftar Isi:
- Docker Run Command
- Jalankan Container di Foreground
- Jalankan Kontainer dalam Mode Terpisah
- Hapus Kontainer Setelah Keluar
- Tetapkan Nama Wadah
- Penerbitan Port Kontainer
- Berbagi Data (Mounting Volume)
- Jalankan Kontainer secara Interaktif
- Kesimpulan
Docker adalah platform yang memungkinkan Anda untuk mengembangkan, menguji, dan menggunakan aplikasi sebagai wadah portabel dan mandiri yang beroperasi hampir di mana saja.
Perintah
docker run
membuat wadah dari gambar yang diberikan dan memulai wadah menggunakan perintah yang diberikan. Ini adalah salah satu perintah pertama yang harus Anda ketahui ketika mulai bekerja dengan Docker., kami akan menggunakan gambar Nginx resmi untuk menunjukkan berbagai cara menjalankan wadah Docker.
Docker Run Command
Perintah
docker run
mengambil bentuk berikut:
docker run IMAGE
Nama gambar dari mana wadah harus dibuat adalah satu-satunya argumen yang diperlukan untuk
docker run
perintah
docker run
. Jika gambar tidak ada di sistem lokal, gambar itu diambil dari registri.
Jika tidak ada perintah yang ditentukan, perintah yang ditentukan dalam
CMD
atau instruksi
ENTRYPOINT
dijalankan ketika menjalankan wadah.
Mulai dari versi 1.13, Docker CLI telah direstrukturisasi, dan semua perintah telah dikelompokkan di bawah objek yang berinteraksi dengannya.
Karena perintah
run
berinteraksi dengan kontainer, sekarang perintah sub-
docker container
. Sintaks perintah baru adalah sebagai berikut:
docker container run IMAGE
Sintaksis lama, pra 1.13 masih didukung. Di bawah tenda, perintah
docker run
adalah alias untuk
docker container run
. Pengguna didorong untuk menggunakan sintaks perintah baru.
Daftar semua opsi
docker container run
dapat ditemukan di halaman dokumentasi Docker.
Jalankan Container di Foreground
Secara default, ketika tidak ada opsi yang disediakan untuk
docker run
perintah
docker run
, proses root dimulai di latar depan. Ini berarti bahwa input standar, output, dan kesalahan dari proses root melekat pada sesi terminal.
docker container run nginx
Output dari proses nginx akan ditampilkan di terminal Anda. Karena, tidak ada koneksi ke server web, terminal kosong.
Untuk menghentikan wadah, hentikan proses Nginx yang sedang berjalan dengan menekan
CTRL+C
Jalankan Kontainer dalam Mode Terpisah
Agar wadah tetap beroperasi saat Anda keluar dari sesi terminal, mulailah dalam mode terpisah. Ini mirip dengan menjalankan proses Linux di latar belakang.
Gunakan opsi
-d
untuk memulai wadah terpisah:
docker container run -d nginx
050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa
Kontainer yang terlepas akan berhenti ketika proses root dihentikan.
Anda dapat membuat daftar kontainer yang sedang berjalan menggunakan perintah
docker container ls
.
Untuk melampirkan terminal Anda ke proses root container terpisah, gunakan perintah
docker container attach
.
Hapus Kontainer Setelah Keluar
Secara default, ketika wadah keluar, sistem file-nya tetap pada sistem host.
Opsi
--rm
memberitahu perintah
docker run
untuk menghapus wadah ketika keluar secara otomatis:
docker container run --rm nginx
Gambar Nginx mungkin bukan contoh terbaik untuk membersihkan sistem file wadah setelah wadah keluar. Opsi ini biasanya digunakan pada wadah latar depan yang melakukan tugas jangka pendek seperti tes atau cadangan basis data.
Tetapkan Nama Wadah
Di Docker, setiap wadah diidentifikasi dengan
UUID
dan namanya. Secara default, jika tidak diatur secara eksplisit, nama wadah secara otomatis dihasilkan oleh daemon Docker.
Gunakan opsi
--name
untuk menetapkan nama khusus ke wadah:
docker container run -d --name my_nginx nginx
Nama wadah harus unik. Jika Anda mencoba memulai wadah lain dengan nama yang sama, Anda akan mendapatkan kesalahan yang mirip dengan ini:
docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.
Jalankan
docker container ls -a
untuk mendaftar semua kontainer, dan lihat namanya:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx
Nama-nama yang bermakna berguna untuk merujuk wadah di dalam jaringan Docker atau ketika menjalankan perintah docker CLI.
Penerbitan Port Kontainer
Secara default, jika tidak ada port yang diterbitkan, proses yang berjalan di wadah hanya dapat diakses dari dalam wadah.
Menerbitkan port berarti memetakan port kontainer ke port mesin host sehingga port tersedia untuk layanan di luar Docker.
Untuk mempublikasikan port gunakan opsi
-p
sebagai berikut:
-p host_ip:host_port:container_port/protocol
- Jika tidak ada
host_ip
yang ditentukan,host_ip
adalahhost_ip
. Jika tidak adaprotocol
yang ditentukan, standarnya adalah TCP. Untuk mempublikasikan banyak port, gunakan beberapa opsi-p
.
Untuk memetakan TCP port 80 (nginx) dalam container to port 8080 pada antarmuka host host, Anda akan menjalankan:
docker container run --name web_server -d -p 8080:80 nginx
Anda dapat memverifikasi bahwa port diterbitkan dengan membuka
http://localhost:8080
di browser Anda atau menjalankan perintah
curl
berikut pada host Docker:
curl -I
Outputnya akan terlihat seperti ini:
HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes
Berbagi Data (Mounting Volume)
Ketika sebuah wadah dihentikan, semua data yang dihasilkan oleh wadah tersebut dihapus. Volume Docker adalah cara yang disukai untuk membuat data tetap ada dan membagikannya di berbagai wadah.
Untuk membuat dan mengelola volume, gunakan opsi
-p
sebagai berikut:
-v host_src:container_dest:options
-
host_src
dapat menjadi path absolut ke file atau direktori pada host atau volume bernama.container_dest
adalah path absolut ke file atau direktori pada container. Pilihan dapatrw
(baca-tulis) danro
(hanya baca)). Jika tidak ada opsi yang ditentukan, defaultnya adalahrw
.
Untuk menjelaskan cara kerjanya, mari buat direktori di host dan letakkan file
index.html
di dalamnya:
mkdir public_html
echo "Testing Docker Volumes" > public_html/index.html
Selanjutnya,
public_html
direktori
public_html
ke
/usr/share/nginx/html
dalam wadah:
docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx
Alih-alih menentukan path absolut ke direktori
public_html
, kami menggunakan perintah
$(pwd)
, yang mencetak direktori kerja saat ini.
Sekarang, jika Anda mengetik
http://localhost:8080
di browser Anda, Anda akan melihat konten file
index.html
. Anda juga dapat menggunakan
curl
:
curl
Jalankan Kontainer secara Interaktif
Saat berurusan dengan proses interaktif seperti
bash
, gunakan opsi
-i
dan
-t
untuk memulai wadah.
Opsi
-it
memberitahu Docker untuk menjaga input standar terpasang ke terminal dan mengalokasikan pseudo-tty:
docker container run -it nginx /bin/bash
Bash shell penampung akan dilampirkan ke terminal, dan prompt perintah akan berubah:
root@1da70f1937f5:/#
Sekarang, Anda dapat berinteraksi dengan shell penampung dan menjalankan perintah apa pun di dalamnya.
Dalam contoh ini, kami memberikan perintah (
/bin/bash
) sebagai argumen untuk
docker run
perintah
docker run
yang dieksekusi alih-alih yang ditentukan dalam Dockerfile.
Kesimpulan
Docker adalah standar untuk pengemasan dan penerapan aplikasi dan komponen penting CI / CD, otomatisasi, dan DevOps.
Perintah
docker container run
digunakan untuk membuat dan menjalankan container Docker.
Perintah gema di linux dengan contoh-contoh

Perintah echo adalah salah satu perintah yang paling mendasar dan sering digunakan di Linux. Argumen yang diteruskan ke gema dicetak ke output standar.
Perintah curl di linux dengan contoh-contoh

Curl adalah utilitas baris perintah untuk mentransfer data dari atau ke server yang dirancang untuk bekerja tanpa interaksi pengguna. Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menggunakan alat keriting melalui contoh-contoh praktis dan penjelasan rinci tentang opsi keriting yang paling umum.
Perintah tanggal Linux dengan contoh-contoh

Perintah tanggal menampilkan atau menetapkan tanggal sistem. Ini paling sering digunakan untuk mencetak tanggal dan waktu dalam format yang berbeda dan menghitung tanggal masa depan dan masa lalu.