Membuat dockerfile dan docker compose di Docker
Untuk memperbaiki Dockerfile sesuai dengan struktur proyek Anda dan memastikan bahwa frontend dan backend dikonfigurasi dengan benar, kita perlu menyesuaikan Dockerfile untuk setiap layanan.
Struktur Folder
todo-frontend/
├── public
│ └── index.html
├── src
│ ├── App.js
│ ├── index.js
│ ├── components
│ │ └── ProductList.js
├── Dockerfile
├── package.json
└── .env
todo-backend/
├── main.go
├── go.mod
├── go.sum
├── Dockerfile
└── database
└── connection.go
docker-compose.ymlDockerfile untuk Backend (todo-backend/Dockerfile)
todo-backend/Dockerfile)Dockerfile untuk backend harus menggunakan image Go, bukan Node.js. Berikut adalah Dockerfile yang diperbarui untuk backend:
Dockerfile untuk Frontend (todo-frontend/Dockerfile)
todo-frontend/Dockerfile)Dockerfile untuk frontend harus menggunakan Node.js untuk membangun aplikasi React dan kemudian Nginx untuk menyajikannya. Berikut adalah Dockerfile yang diperbarui untuk frontend:
Docker Compose File (docker-compose.yml)
docker-compose.yml)Berikut adalah file Docker Compose yang diperbarui untuk mengatur frontend, backend, dan PostgreSQL:
Penjelasan Konsep Dockerfile
Dockerfile adalah skrip yang berisi serangkaian perintah untuk membuat sebuah image Docker. Konsep utama dari Dockerfile meliputi:
Base Image: Setiap Dockerfile dimulai dengan sebuah base image. Misalnya,
FROM node:14 AS buildatauFROM golang:1.16-alpine.Working Directory:
WORKDIRdigunakan untuk mengatur direktori kerja di dalam container.Copy Files:
COPYdigunakan untuk menyalin file dari sistem host ke image Docker.Run Commands:
RUNdigunakan untuk menjalankan perintah di dalam image Docker, seperti menginstal dependensi atau membangun aplikasi.Expose Ports:
EXPOSEdigunakan untuk memberitahu Docker bahwa container mendengarkan pada port tertentu.Command:
CMDdigunakan untuk menentukan perintah apa yang akan dijalankan saat container dimulai.
Sumber Referensi
Dengan Dockerfile dan Docker Compose yang diperbarui, Anda seharusnya dapat membangun dan menjalankan aplikasi frontend dan backend Anda menggunakan Docker. Pastikan untuk menjalankan docker-compose up --build untuk membangun kembali image Docker setelah melakukan perubahan pada Dockerfile.
Last updated