일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 명명규칙
- 비트논리연산자
- 산술 쉬프트 연산자
- dowhile문
- 순환문
- 대입 연산자
- array
- 삼항 연산자
- println()
- 안드로이드스튜디오
- 기본형호출
- 다중if
- 사용자입력Switch문
- 자바
- 다차원배열
- 콘솔출력문
- 비정방행렬
- 변수유효범위
- 비교연산자
- 배열
- Java
- 참조형호출
- for문
- 논리 쉬프트 연산자
- print()
- 증감연산자
- while문
- 단순if
- 타입변환
- 문자열
- Today
- Total
신입개발자
gateway docker 실행 본문
1. dockerfile
FROM openjdk:11
#CMD ["./mvnw", "clean", "package"]
ADD ./home /home
ADD ./config /config
ADD ./ssl /ssl
ADD ./logs /logs
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime && echo "Asia/Seoul" > /etc/timezone
ENV CONFIG /config
ENV GW_CFG /home/app/data/gw/conf
ENV GW_LOG /home/app/logs/gw
ENV GW_DATA /home/app/data/gw
ADD gw-server-log.jar app.jar
#CMD java -Djdk.tls.client.protocols=TLSv1.3,TLSv1.2 -Dreactor.netty.ioWorkerCount=200 -jar app.jar --spring.config.import=/config/application-docker.yaml
#EXPOSE 443
ENTRYPOINT ["sh", "-c", "java -Djdk.tls.client.protocols=TLSv1.3,TLSv1.2 -Dreactor.netty.ioWorkerCount=200 ${JAVA_OPTS} -jar app.jar ${0} ${@}"]
#ENTRYPOINT ["java", "${JAVA_OPTS}", "-jar", "app.jar"]
./home, ./config, ./ssl, ./logs : Dockerfile 위치에 존재하는 폴더
ADD 명령어를 통해 docker 내의 경로에 해당 폴더들을 추가
ENV : 환경 변수 설정, ADD 없이 ENV 만 한 경우 도커 내의 /home 관련 경로가 없기 때문에 image run 시 에러 발생
${JAVA_OPTS} : 자바 옵션 외부 설정
${@} : 명령인수
${0} : 명령
/config: 파일 안에 application-docker.yaml, application-docker2.yaml, application-docker3.yaml 만들어 놓음. 각각의 yaml에는 포트 다르게 설정
docker build -t [name] .
- docker build -t gw-server .
도커파일 빌드 명령어 → gw-server란 이미지 생성
docker images
image run
- ##docker run -p 443:443 -p 5001:5001 -e "JAVA_OPTS=-Ddebug -Xmx128m” --net test_default -d gw-server : 옵션 설정 가능
##docker run -p 443:443 -p 5001:5001 -e SPRING_PROFILES_ACTIVE=docker --net test_default -d gw-server
- SPRING_PROFILES_ACTIVE=docker : application-docker.yml 로 프로파일 설정 실행
- docker run -p 1443:443 -p 5010:5001 --net test_default -d gw-server --spring.config.import=./config/application-docker.yaml
- docker run -p 2443:443 -p 5011:5001 --net test_default -d gw-server --spring.config.import=./config/application-docker.yaml
- docker run -p 3443:443 -p 5012:5001 --net test_default -d gw-server --spring.config.import=./config/application-docker.yaml
: 도커 이미지 실행 → 컨테이너 생성
spring.config.import=./config/application-docker.yaml : 도커 내부의 /config에 있는 해당 yaml 적용
port 5001, 443 → 설정한 yaml파일에 맞게 포트 오픈
-p : 포트 바인딩 → yaml 설정과 동일하게 오픈 필요
-e : element 약자
--net [network name] : 해당 네트워크로 선택해서 실행, redis 실행 시킨 네트워크와 동일해야 실행하는데 문제 없음
-d : 백그라운드 실행
gw-server log 확인
- docker exec -it [container ID] /bin/bash
- cd logs
- tail -500f [로그 이름]
- exit : bash 종료
Dockerfile spring-boot 관련 옵션 정리 링크
docker 기본 명령어
docker network ls : 도커 네트워크 목록 확인
docker ps : 실행 중인 컨테이너 목록 확인
docker ps -a : 모든 컨테이너 목록 확인
docker images : 도커 모든 이미지 목록 확인
docker image rm [image ID] : 도커 이미지 삭제 → 사용하고 있는 컨테이너가 없어야 가능
docker rm [container ID] : 도커 컨터이너 삭제
docker logs [container ID] : 컨테이너 로그 확인
docker exec -it [container ID] /bin/bash : 실행 중인 컨테이너의 bash 접속
'개인 개발 공부' 카테고리의 다른 글
Burp Suite (0) | 2023.08.31 |
---|---|
gw-manger / portal docker 실행 (0) | 2023.08.31 |
redis docker 실행 (0) | 2023.08.31 |
Dockerizing Your Spring Boot Application (0) | 2023.08.31 |
Docker (0) | 2023.08.31 |