이미지 빌드 및 docker compose로 실행
물론 3개의 이미지를 개별적으로 빌드한 다음 3개의 이미지를 순차적으로 실행하여 최종 생태계를 얻어야 했습니다.
이 게시물에서는 docker-compose를 사용하여 하나의 명령으로 모든 단계를 결합하려고 합니다.
이전 게시물의 코드가 체크인된 동일한 리포지토리에서 시작하여 로컬로 복제한 다음 docker-compose yml 파일을 설정하고 실행합니다.
1단계. 코드베이스를 복제합니다.
리포지토리를 복제합니다https://github.com/tirthaguha/container-reverse-proxy.
2단계. YML 파일 생성
네트워크 드라이버
자, docker-compose.yml 파일을 만들기 전에 docker-compose에서 네트워킹이 어떻게 작동하는지 이해하는 것이 중요합니다.
Docker는 네트워킹의 복잡성을 추상화하기 위해 가상 네트워크를 생성할 수 있으며 모든 컨테이너는 해당 네트워크에서 실행되고 상호 작용합니다. 이 가상 네트워크에 대한 한 가지 흥미로운 점은 네트워크 드라이버입니다. 컨테이너 에코시스템 설정에 따라 드라이버는 브리지, 오버레이 및 macvlan이 될 수 있습니다.
우리의 경우 동일한 호스트에서 모든 컨테이너를 실행할 것이므로 도커 작성 파일에서 브리지 네트워크 드라이버를 선택합니다. 이것article을 살펴보고 도커 네트워크에 대해 자세히 알아볼 수 있습니다.
도커 작성 파일 생성
docker-compose.yml은 애플리케이션, Dockerfile 및 실행할 네트워크에 대한 모든 정보를 포함하는 파일입니다.
다음은
container-reverse-proxy
디렉토리에 넣어야 하는 주석이 달린 docker-compose.yml입니다.version: "3"
# start by defining the services
services:
# this is the first nodeJS application
nodejs_1:
# lets keep name of the image as first-app
image: first-app
# this is where the Dockerfile is compiled into an image
build:
# where is the Dockerfile kept, relative to this directory
context: ./first-app
# obviously, the Dockerfile in that directory
dockerfile: Dockerfile
# port mapping
ports:
- 3000:3000
# name of the container
container_name: first-app
# if the container crashes, it would be restarted automatically
restart: unless-stopped
# the virtual network of which this container will be a part of
networks:
- app-network
# this is the second nodeJS application
nodejs_2:
# lets keep name of the image as first-app
image: second-app
build:
# where is the Dockerfile kept, relative to this directory
context: ./second-app
dockerfile: Dockerfile
ports:
- 4000:4000
container_name: second-app
restart: unless-stopped
networks:
- app-network
# Finally, the nginx, that controlls the route
nginx-server:
image: nginx-load-balancer
build:
context: ./nginx
dockerfile: Dockerfile
ports:
- 8080:80
container_name: nginx-load-balancer
restart: unless-stopped
networks:
- app-network
# the mysterious item, network
networks:
app-network:
driver: bridge
3단계. docker-compose 파일 실행
그냥 실행
$ sudo docker-compose up -d
그런 다음 브라우저로 이동하여 다음 URL을 열어보십시오.
Reference
이 문제에 관하여(이미지 빌드 및 docker compose로 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tirthaguha/build-images-and-run-them-with-docker-compose-4fg0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)