Bagaimana Cara Menjalankan Instans Docker Dari Dockerfile?

Bagaimana Cara Menjalankan Instans Docker Dari Dockerfile



Docker adalah platform terbuka populer yang digunakan secara universal untuk membangun, menguji, menyebarkan, dan mengirimkan aplikasi dalam lingkungan yang terkontainerisasi. Docker menggunakan virtualisasi tingkat OS dan mendukung berbagai komponen seperti wadah Docker, gambar, jaringan, dan volume Docker.

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?

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 utama
impor (
'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 -f . ”:

membangun buruh pelabuhan -T go-img -F File Docker.

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 ' memerintah:

gambar buruh pelabuhan go-img

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-img

Dalam 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.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 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 hal

Outputnya 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 -f . ' memerintah. Sekarang, jalankan image container untuk memulai instance Docker. Pengguna juga dapat menggunakan penulisan Docker untuk menjalankan instance Docker dari Dockerfile. Posting ini mengilustrasikan cara menjalankan instance Docker dari Dockerfile.