diff --git a/README.md b/README.md index b764e58..714bedc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,42 @@ docker_templates =============== -Docker templates for different programming languages \ No newline at end of file +Docker templates for different programming languages + +### Angular +Move Dockerfile, docker-compose.yml and .dockerignore into top level Angular +app directory (my_angular_app/ and not my_angular_app/src) + +Make the following changes in `package.json` + +```json +"scripts": { + ... + "start": "ng serve --host 0.0.0.0", + ... + } + ``` + +Ref answer by Hans Kilian on S.O.: +https://stackoverflow.com/questions/74467776/problem-connecting-to-angular-app-in-docker + +Ref Docker / Angular live-reload ... +https://www.freecodecamp.org/news/how-to-enable-live-reload-on-docker-based-applications/ + +```bash +docker volume create nodemodules +docker build -t MY_IMAGE_NAME +docker run --name app -p 4200:4200 -v nodemodules:/src/node_modules -v .:/src MY_IMAGE_NAME +``` + +or to start via Docker compose + +```bash +docker compose up +``` + +and to shut down + +```bash +docker compose down +``` \ No newline at end of file diff --git a/angular/.dockerignore b/angular/.dockerignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/angular/.dockerignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/angular/Dockerfile b/angular/Dockerfile new file mode 100644 index 0000000..f0a64fe --- /dev/null +++ b/angular/Dockerfile @@ -0,0 +1,35 @@ +FROM node:18.20.3-alpine + +WORKDIR /src + +COPY package*.json /src + +RUN npm ci + +COPY . /src + +RUN npm run build + + +CMD npm start + +# +# NOTES: +# In package.json file make the following change: +# "scripts": { +# ... +# "start": "ng serve --host 0.0.0.0", +# ... +# } +# +# Ref answer by Hans Kilian on S.O.: +# https://stackoverflow.com/questions/74467776/problem-connecting-to-angular-app-in-docker +# +# +# Ref Docker / Angular live-reload ... +# https://www.freecodecamp.org/news/how-to-enable-live-reload-on-docker-based-applications/ +# +# docker volume create nodemodules +# docker run --name app -p 4200:4200 -v nodemodules:/src/node_modules -v .:/src ngcourse +# + diff --git a/angular/docker-compose.yml b/angular/docker-compose.yml new file mode 100644 index 0000000..fda7929 --- /dev/null +++ b/angular/docker-compose.yml @@ -0,0 +1,13 @@ +version: "3" + +services: + app: + build: . + ports: + - 4200:4200 + volumes: + - .:/src + - nodemodules:/src/node_modules + +volumes: + nodemodules: {} \ No newline at end of file