docker-compose 로 nginx web 서버와 tomcat was 서버를 구성해 봅니다.

 

[ 설치환경 ]

- OS : CentOS Linux release 7.9.2009

- docker : Docker version 20.10.14

- docker-compose : docker-compose version 1.29.2

 

 

1. docker compose.yml 파일 작성

 

web, was 서버 구동을 위한 docker-compose.yml 파일을 아래와 같이 생성합니다.

- docker-compose.yml

version: '3.8'
services:
    was-example:
        container_name: example_was
        image: was-example:v1.0.0
        environment:
          TZ: "Asia/Seoul"
        ports:
          - "8080:8080"
        restart: always
#        networks:
#          - example-network

    web-example:
        container_name: example_web
        # set env tag version
        image: web-example:latest
        environment:
          TZ: "Asia/Seoul"
        ports:
          - "80:8080"
          - "443:8443"
        restart: always
#        networks:
#          - example-network

#networks:
#  example-network:
#    name: example-net
#    ipam:
#      driver: default
#      config:
#        - subnet: 100.100.0.0/24

 

컨테이너 실행

docker-compose 명령어로 nginx, tomcat 컨테이너를 실행시킵니다.

docker-compose.yml 파일이 있는 경로에서 아래 명령어를 수행합니다.

docker-compose up -d

위 명령어는 명령얼 수행 경로에 존재하는 docker-compose.yml 파일을 읽어 파일에 정의된 일련의 명령어들을 수행합니다. -d 는 백그라운드 프로세스로 수행하라는 옵션입니다.

 

컨테이너가 정상적으로 시작되었는지 확인합니다.

docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED              STATUS              PORTS                                                                                    NAMES
6a8823cbfbb7   was-example:v1.0.0   "catalina.sh run"        About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                                example_was
70799450d218   web-example:latest   "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp   example_web

 

컨테이너  중지

docker-compose down

docker-compose.yml 에 정의된 컨테이너를 중지 및 제거합니다. docker ps 명령어를 수행하면 컨테이너가 존재하지 않는 것을 확인할 수 있습니다.

 

참고 : dockerfile 용어정리

FROM base 이미지 설정
WORKDIR 작업 디렉터리 설정
RUN 이미지 빌드 시 커맨드 실행
ENTRYPOINT 이미지 실행 시 항상 실행되야 하는 커맨드 설정
CMD 이미지 실행 시 디폴트 커맨드 또는 파라미터 설정
EXPOSE 컨테이너가 리스닝할 포트 및 프로토콜 설정
COPY/ADD 이미지의 파일 시스템으로 파일 또는 디렉터리 복사
ENV 환경 변수 설정
ARG 빌드 시 넘어올 수 있는 인자 설정

'Docker' 카테고리의 다른 글

docker install on debian  (0) 2022.05.30
Docker Compose 네트워크  (0) 2022.04.21
Docker - 네트워크  (0) 2022.04.21
Docker - 파일 저장 위치  (0) 2022.04.19
Install Docker Engine on CentOS  (0) 2022.04.18

+ Recent posts