Menjelajahi elemen Dockerfile

Selesai

Dockerfile adalah skrip yang berisi serangkaian instruksi yang digunakan untuk membangun gambar Docker. Dockerfiles biasanya menyertakan informasi berikut:

  • Gambar dasar atau induk yang kami gunakan untuk membuat gambar baru
  • Perintah untuk memperbarui OS dasar dan menginstal perangkat lunak lain
  • Membangun artefak untuk disertakan, seperti aplikasi yang dikembangkan
  • Layanan untuk mengekspos, seperti penyimpanan dan konfigurasi jaringan
  • Perintah untuk dijalankan ketika kontainer diluncurkan

Membuat Dockerfile

Langkah pertama dalam membuat Dockerfile adalah memilih gambar dasar yang berfungsi sebagai fondasi untuk aplikasi Anda. Misalnya, jika Anda membangun aplikasi .NET, Anda dapat memilih gambar Microsoft .NET sebagai basis Anda.

# Use the .NET 6 runtime as a base image
FROM mcr.microsoft.com/dotnet/runtime:6.0

# Set the working directory to /app
WORKDIR /app

# Copy the contents of the published app to the container's /app directory
COPY bin/Release/net6.0/publish/ .

# Expose port 80 to the outside world
EXPOSE 80

# Set the command to run when the container starts
CMD ["dotnet", "MyApp.dll"]

Mari kita melalui setiap baris untuk melihat apa yang dilakukannya:

  • FROM mcr.microsoft.com/dotnet/runtime:6.0: Perintah ini mengatur gambar dasar ke runtime .NET 6, yang diperlukan untuk menjalankan aplikasi .NET 6.
  • WORKDIR /app: Mengatur direktori kerja ke /app, yang merupakan tempat file aplikasi disalin.
  • COPY bin/Release/net6.0/publish/ .: Menyalin konten aplikasi yang diterbitkan ke direktori kontainer /app . Kami berasumsi bahwa aplikasi .NET 6 telah dibuat dan diterbitkan ke bin/Release/net6.0/publish direktori.
  • EXPOSE 80: Mengekspos port 80, yang merupakan port HTTP default, ke dunia luar. Ubah baris ini sesuai jika aplikasi Anda mendengarkan di port yang berbeda.
  • CMD ["dotnet", "MyApp.dll"]: Perintah yang akan dijalankan saat kontainer dimulai. Dalam hal ini, kami menjalankan perintah dotnet dengan nama file DLL aplikasi kami (MyApp.dll). Ubah baris ini agar sesuai dengan nama aplikasi dan titik masuk Anda.

Kami tidak akan membahas spesifikasi file Dockerfile, kunjungi referensi Dockerfile untuk informasi lebih lanjut. Masing-masing langkah ini membuat gambar kontainer cache saat kami membangun gambar kontainer akhir. Gambar sementara ini berlapis di atas gambar sebelumnya dan disajikan sebagai gambar tunggal setelah semua langkah selesai.

Sumber