Docker
도커 - web was 구성
필유아사
2022. 4. 21. 15:43
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 | 빌드 시 넘어올 수 있는 인자 설정 |