Kontainer Docker adalah salah satu komponen penting platform Docker yang mengemas program, pengaturan konfigurasi, dan dependensi menggunakan image Docker. Gambar Docker adalah templat atau snapshot sederhana dari sebuah container yang memandu container tentang cara memasukkan aplikasi ke dalam container. Gambar-gambar ini sebagian besar tersedia di registri resmi hub Docker. Pengguna juga dapat mendesain gambar-gambar ini sesuai dengan kebutuhan proyek menggunakan Dockerfile.
Blog ini akan menjelaskan:
- Apa itu Dockerfile?
- Perintah Dasar Dockerfile
- Bagaimana Cara Menjalankan Instance Dari Dockerfile di Docker?
- Bagaimana Cara Menjalankan Instance Dari Dockerfile di Docker Compose?
- Kesimpulan
Apa itu Dockerfile?
Dockerfile adalah file teks biasa yang berisi perintah dan instruksi yang menentukan struktur dasar container Docker. Instruksi ini dapat dijalankan di terminal tanpa file apa pun, tetapi menjalankan setiap perintah satu demi satu adalah tugas yang sibuk dan rumit. Dockerfile memudahkan pengembang untuk menentukan semua persyaratan dan instruksi ke dalam satu file. File ini kemudian akan digunakan untuk membuat template container yang merupakan image Docker. Setelah itu, image buruh pelabuhan dijalankan untuk memulai instance di container Docker.
Perintah Dasar Dockerfile
Beberapa perintah dasar Dockerfile yang digunakan untuk menentukan snapshot dasar container tercantum di bawah ini dalam bentuk tabel:
Perintah | Keterangan |
DARI | “ DARI Perintah ” digunakan untuk menentukan gambar dasar untuk templat kontainer. Gambar-gambar ini diambil dari registri Docker resmi Docker Hub. |
PEMELIHARA | “ PEMELIHARA ” Perintah mendefinisikan informasi penulis (Nama dan Email) yang membuat image Docker. |
KERJADIR | Ini menentukan direktori kerja aplikasi dalam container. |
MENYALIN | Digunakan untuk menyalin file sumber dan konfigurasi dari sistem host ke jalur yang ditentukan dari container Docker. |
MENAMBAHKAN | “ MENAMBAHKAN Perintah ” mirip dengan “ MENYALIN ” perintah tetapi juga mendukung URL jarak jauh untuk menambahkan file dari URL ke jalur penampung seperti dari repositori GitHub ke jalur penampung. |
BERLARI | “ BERLARI ” digunakan untuk menjalankan perintah dalam container. Di Dockerfile, ini sebagian besar digunakan untuk mengelola dan menginstal dependensi tambahan di dalam container. |
CMD | “ CMD ” mendefinisikan titik default kontainer Docker. Ini pada dasarnya mendefinisikan executable dan parameter default dari “ TITIK MASUK ”. |
TITIK MASUK | “ TITIK MASUK Perintah ” juga digunakan untuk mengatur executable dari container Docker. Ini pada dasarnya menetapkan aplikasi default yang digunakan dalam wadah setiap saat. Perintah ENTRYPOINT juga digunakan sekali di Dockerfile. |
PENGGUNA | Perintah ini digunakan untuk mengatur UID (nama pengguna) untuk menjalankan perintah di Container |
VOLUME | “ VOLUME Perintah ” digunakan untuk mengikat atau memasang volume eksternal (sistem file) dengan sebuah wadah. |
ENV | “ ENV Perintah ” digunakan untuk mengatur variabel lingkungan container. |
ARG | “ ARG ” digunakan untuk menyampaikan argumen di dalam wadah. |
MEMBUKA | “ MEMBUKA Perintah ” menentukan port terbuka tempat container akan dieksekusi. |
DIBANGUN | Ia membaca instruksi dari gambar dasar tetapi memicu instruksi ini melalui gambar hilir. |
LABEL | “ LABEL ” digunakan untuk menentukan metadata snapshot kontainer. |
Bagaimana Cara Menjalankan Instance Docker Dari Dockerfile di Docker?
Untuk menjalankan instance atau container Docker menggunakan Dockerfile, pertama-tama buat Dockerfile. Kemudian, buat snapshot dasar untuk container menggunakan Dockerfile. Setelah itu, jalankan snapshot untuk memulai instance Docker.
Ikuti petunjuk di bawah ini sebagai ilustrasi.
Langkah 1: Buat Dockerfile
Pertama, buat Dockerfile. Ingatlah bahwa Dockerfile tidak memiliki ekstensi file apa pun. Setelah itu, pastekan perintah berikut ke dalam file:
DARI golang: 1.8
KERJADIR / pergi / src / aplikasi
SALIN main.go .
JALANKAN, ayo bangun -HAI server web.
MEMBUKA 8080 : 8080
TITIK MASUK [ './server web' ]
Langkah 2: Buat File Program
Selanjutnya buat file baru dengan nama “ utama.pergi ” yang berisi program Golang sederhana. Untuk tujuan ini, tempelkan program berikut ke dalam file:
paket utamaimpor (
'fmt'
'catatan'
'bersih/http'
)
pengendali fungsi ( Di dalam http.ResponseWriter, r * http.Permintaan ) {
fmt.Fprintf ( Di dalam , 'Halo! Selamat datang di Tutorial LinuxHint' )
}
fungsi utama ( ) {
http.HandleFunc ( '/' , penangan )
log.Fatal ( http.ListenAndServe ( '0.0.0.0:8080' , nihil ) )
}
Langkah 3: Hasilkan Cuplikan Kontainer
Sekarang, buat snapshot Docker dari container menggunakan “ buruh pelabuhan membangun -t
Dalam perintah di atas, “ -T ” opsi menyetel nama atau tag gambar, “ -F Opsi ” menentukan jalur ke Dockerfile yang menjadi tempat mesin Docker perlu membaca konteks build:
Untuk mengecek apakah gambar berhasil dibuat atau tidak, jalankan perintah “ gambar buruh pelabuhan
Outputnya menunjukkan bahwa kita telah berhasil membuat snapshot container dari Dockerfile:
Langkah 4: Jalankan Snapshot untuk Menjalankan Kontainer
Sekarang, mulai instance Docker di container Docker dengan mengeksekusi snapshot container yang dibuat pada langkah di atas:
menjalankan buruh pelabuhan -P 8080 : 8080 --nama lanjutkan -D go-imgDalam perintah di atas, “ -P Opsi ” menjalankan container di “ 8080 ' pelabuhan, ' -nama ” menetapkan nama wadah dan “ -D ” opsi menjalankan container dalam mode terpisah (layanan latar belakang):
Untuk memverifikasi apakah container sedang dijalankan atau tidak, daftarkan container yang sedang berjalan menggunakan “ buruh pelabuhan ps ' memerintah:
buruh pelabuhan hal
Sekarang, navigasikan ke “ http://localhost:8080 ” dan verifikasi apakah aplikasi berjalan pada port terbuka atau tidak:
Output di atas menunjukkan bahwa kita telah memulai instance Docker secara efektif menggunakan Dockerfile.
Bagaimana Cara Menjalankan Instance Dari Dockerfile di Docker Compose?
Docker composer adalah plugin utama lain dari platform Docker yang memungkinkan kita menjalankan banyak instance dalam container berbeda secara bersamaan. Pengguna juga dapat menjalankan instance Docker dari Dockerfile menggunakan plugin penulisan Docker. Sebagai ilustrasi, ikuti langkah-langkah yang diberikan.
Langkah 1: Buat Dockerfile
Pertama, buat Dockerfile. Misalnya, kami menggunakan Dockerfile dan file program yang sama dengan yang digunakan pada bagian di atas:
DARI golang: 1.8KERJADIR / pergi / src / aplikasi
SALIN main.go .
JALANKAN, ayo bangun -HAI server web.
MEMBUKA 8080 : 8080
TITIK MASUK [ './server web' ]
Langkah 2: Buat File docker-compose.yml
Selanjutnya, buat “ buruh pelabuhan-compose.yml ” file dan salin pasangan kunci berikut ke dalam file:
Versi: kapan: '3'jasa:
jaringan:
membangun: .
port:
- 8080 : 8080
Dalam cuplikan yang disebutkan di atas:
- “ jasa ” digunakan untuk menentukan layanan penulisan yang akan dijalankan dalam wadah terpisah. Sebagai ilustrasi, kami hanya mengkonfigurasi satu layanan “ web ” untuk menjaga kode tetap bersih dan sederhana.
- “ membangun ” pasangan kunci digunakan untuk membaca konteks build dari Dockerfile. Di sini, buruh pelabuhan akan membaca instruksi dari Dockerfile dan membangun container yang sesuai.
- “ pelabuhan ” kunci mendefinisikan port terbuka tempat container akan dieksekusi.
Langkah 3: Mulai Instans Docker
Sekarang, jalankan instance Docker dalam sebuah container menggunakan “ komposisi buruh pelabuhan ' memerintah:
komposisi buruh pelabuhan -D
Untuk verifikasi, periksa daftar penampung penulisan yang sedang berjalan menggunakan “ komposisi buruh pelabuhan ps ' memerintah:
komposisi buruh pelabuhan halOutputnya menunjukkan bahwa “ web ” layanan berhasil dijalankan di “ golangapp-web-1 ” wadah:
Navigasikan ke port layanan penulisan dan verifikasi apakah program sedang dijalankan atau tidak. Hasil di bawah ini menunjukkan bahwa kita telah berhasil memulai instance Docker dari Dockerfile menggunakan penulisan Docker:
Itu semua tentang menjalankan instance buruh pelabuhan dari Dockerfile.
Kesimpulan
Untuk menjalankan instance Docker dalam container dari Dockerfile, pertama-tama buat Dockerfile. Tambahkan perintah di dalam file untuk membuat image atau template container Docker. Kemudian, buat gambar container atau snapshot menggunakan “ docker build -t