use custom network for docker run commands

This commit is contained in:
sid palas
2023-02-20 13:33:27 -05:00
parent c954a8205a
commit 7010a748e0
6 changed files with 48 additions and 10 deletions

View File

@ -1,5 +1,5 @@
server { server {
listen 80; listen 8080;
# Docker internal dns server # Docker internal dns server
resolver 127.0.0.11; resolver 127.0.0.11;

View File

@ -23,4 +23,4 @@ COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build usr/src/app/dist/ /usr/share/nginx/html COPY --from=build usr/src/app/dist/ /usr/share/nginx/html
EXPOSE 80 EXPOSE 8080

View File

@ -26,4 +26,4 @@ COPY --link nginx.conf /etc/nginx/conf.d/default.conf
COPY --link --from=build usr/src/app/dist/ /usr/share/nginx/html COPY --link --from=build usr/src/app/dist/ /usr/share/nginx/html
EXPOSE 80 EXPOSE 8080

View File

@ -5,17 +5,17 @@ build:
# Have to authenticate to dockerhub and create repo first: # Have to authenticate to dockerhub and create repo first:
# https://docs.docker.com/engine/reference/commandline/login/ # https://docs.docker.com/engine/reference/commandline/login/
.PHONY: push-dockerhub .PHONY: push-dockerhub
push-dockerhub: build push-dockerhub:
docker tag my-scratch-image sidpalas/my-scratch-image # defaults to latest docker tag my-scratch-image sidpalas/my-scratch-image # defaults to latest
docker push sidpalas/my-scratch-image docker push sidpalas/my-scratch-image
docker tag my-scratch-image sidpalas/my-scratch-image:abc-123 # defaults to latest docker tag my-scratch-image sidpalas/my-scratch-image:abc-123
docker push sidpalas/my-scratch-image:abc-123 docker push sidpalas/my-scratch-image:abc-123
# Have to authenticate to ghcr.io first # Have to authenticate to ghcr.io first
# https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry # https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry
.PHONY: push-github-packages .PHONY: push-github-packages
push-github-packages: build push-github-packages:
docker tag my-scratch-image ghcr.io/sidpalas/my-scratch-image # defaults to latest docker tag my-scratch-image ghcr.io/sidpalas/my-scratch-image # defaults to latest
docker push ghcr.io/sidpalas/my-scratch-image docker push ghcr.io/sidpalas/my-scratch-image

View File

@ -31,6 +31,8 @@ docker-build-all:
docker build -t api-golang -f ${DOCKERFILE_DIR}/api-golang/Dockerfile.6 ${DOCKERCONTEXT_DIR}/api-golang/ docker build -t api-golang -f ${DOCKERFILE_DIR}/api-golang/Dockerfile.6 ${DOCKERCONTEXT_DIR}/api-golang/
DATABASE_URL:=postgres://postgres:foobarbaz@db:5432/postgres
.PHONY: docker-run-all .PHONY: docker-run-all
docker-run-all: docker-run-all:
echo "$$DOCKER_COMPOSE_NOTE" echo "$$DOCKER_COMPOSE_NOTE"
@ -40,8 +42,11 @@ docker-run-all:
$(MAKE) docker-rm $(MAKE) docker-rm
docker network create my-network
docker run -d \ docker run -d \
--name db \ --name db \
--network my-network \
-e POSTGRES_PASSWORD=foobarbaz \ -e POSTGRES_PASSWORD=foobarbaz \
-v pgdata:/var/lib/postgresql/data \ -v pgdata:/var/lib/postgresql/data \
-p 5432:5432 \ -p 5432:5432 \
@ -50,7 +55,8 @@ docker-run-all:
docker run -d \ docker run -d \
--name api-node \ --name api-node \
-e DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres \ --network my-network \
-e DATABASE_URL=${DATABASE_URL} \
-p 3000:3000 \ -p 3000:3000 \
--restart unless-stopped \ --restart unless-stopped \
--link=db \ --link=db \
@ -58,7 +64,8 @@ docker-run-all:
docker run -d \ docker run -d \
--name api-golang \ --name api-golang \
-e DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres \ --network my-network \
-e DATABASE_URL=${DATABASE_URL} \
-p 8080:8080 \ -p 8080:8080 \
--restart unless-stopped \ --restart unless-stopped \
--link=db \ --link=db \
@ -66,6 +73,7 @@ docker-run-all:
docker run -d \ docker run -d \
--name client-react-vite \ --name client-react-vite \
--network my-network \
-v ${PWD}/client-react/vite.config.js:/usr/src/app/vite.config.js \ -v ${PWD}/client-react/vite.config.js:/usr/src/app/vite.config.js \
-p 5173:5173 \ -p 5173:5173 \
--restart unless-stopped \ --restart unless-stopped \
@ -75,6 +83,7 @@ docker-run-all:
docker run -d \ docker run -d \
--name client-react-nginx \ --name client-react-nginx \
--network my-network \
-p 5174:80 \ -p 5174:80 \
--restart unless-stopped \ --restart unless-stopped \
--link=api-node \ --link=api-node \
@ -96,6 +105,7 @@ docker-rm:
-docker container rm api-golang -docker container rm api-golang
-docker container rm client-react-vite -docker container rm client-react-vite
-docker container rm client-react-nginx -docker container rm client-react-nginx
-docker network rm my-network
define DOCKER_COMPOSE_NOTE define DOCKER_COMPOSE_NOTE

View File

@ -1,13 +1,29 @@
services: services:
client-react-vite:
image: client-react-vite
build:
context: ../05-example-web-application/client-react/
dockerfile: ../../06-building-container-images/client-react/Dockerfile.4
init: true
volumes:
- ${PWD}/client-react/vite.config.js:/usr/src/app/vite.config.js
networks:
- frontend
ports:
- 5173:5173
client-react-nginx: client-react-nginx:
image: client-react-nginx
build: build:
context: ../05-example-web-application/client-react/ context: ../05-example-web-application/client-react/
dockerfile: ../../06-building-container-images/client-react/Dockerfile.5 dockerfile: ../../06-building-container-images/client-react/Dockerfile.5
init: true init: true
networks:
- frontend
ports: ports:
- 5174:80 - 80:8080
restart: unless-stopped restart: unless-stopped
api-node: api-node:
image: api-node
build: build:
context: ../05-example-web-application/api-node/ context: ../05-example-web-application/api-node/
dockerfile: ../../06-building-container-images/api-node/Dockerfile.8 dockerfile: ../../06-building-container-images/api-node/Dockerfile.8
@ -16,10 +32,14 @@ services:
- db - db
environment: environment:
- DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres - DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres
networks:
- frontend
- backend
ports: ports:
- 3000:3000 - 3000:3000
restart: unless-stopped restart: unless-stopped
api-golang: api-golang:
image: api-golang
build: build:
context: ../05-example-web-application/api-golang/ context: ../05-example-web-application/api-golang/
dockerfile: ../../06-building-container-images/api-golang/Dockerfile.6 dockerfile: ../../06-building-container-images/api-golang/Dockerfile.6
@ -28,6 +48,9 @@ services:
- db - db
environment: environment:
- DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres - DATABASE_URL=postgres://postgres:foobarbaz@db:5432/postgres
networks:
- frontend
- backend
ports: ports:
- 8080:8080 - 8080:8080
restart: unless-stopped restart: unless-stopped
@ -37,7 +60,12 @@ services:
- pgdata:/var/lib/postgresql/data - pgdata:/var/lib/postgresql/data
environment: environment:
- POSTGRES_PASSWORD=foobarbaz - POSTGRES_PASSWORD=foobarbaz
networks:
- backend
ports: ports:
- 5432:5432 - 5432:5432
volumes: volumes:
pgdata: pgdata:
networks:
frontend:
backend: