İhtiyacımız olan tek şey, çalışan bir Angular projesi ve bir Dockerfile dosyası.
Dockerfile dosya içeriğim;
FROM node:16.16.0 as node
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod
FROM nginx:alpine
COPY --from=node /app/dist/dock-ng-app /usr/share/nginx/html
Yukarıda ki Dockerfile içeriğini bold olan kısmı(dock-ng-app
) değiştirmek şartı ile tamamen kullanabilirsiniz. Orasının ne olacağı sizin projenizin dist folderi altında hangi isimle üretildiği ile ilişkili. Bunu öğrenmek için;
ng build
veya ng build --prod
komutunu çalıştırıp dist altında hangi isimle bir folder oluşuyor ona göre değiştirmelisiniz. Dockerfile dosyanız hazır ise 2 komut ile bu işi bitirelim.
image yaratmak için;docker build --t YOUR_USER_NAME/YOUR_IMAGE_NAME .
Ör: docker build -t oguzozkaraca/ng-dock-app .
Container oluşturmak ve çalıştırmak için;docker run --d --it -p 8080:80 --name ng-first-app YOUR_USER_NAME/YOUR_IMAGE_NAME:latest
Ör: docker run -d –it -p 8080:80 –name ng-first-app oguzozkaraca/ng-dock-app:latest
http://localhost:8080/
Hooray!!