Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java
- DBeaver
- subversion
- 자바
- rocky linux
- available plugins
- 제수가 0입니다
- SVN
- Rocky Linux 9
- baekjoon
- 환경번수
- 1773번
- javascript
- 서버 접근
- jaekjoon java
- bekjoon
- 백준 java jaekjoon JAVA
- 메뉴얼
- linux
- poll scm
- putty
- jsonb select
- tomcat-users.xml
- ora-01476
- PostgreSQL
- 백준 JAVA
- 백준
- 사용법
- jenkins
- boj
Archives
기록하는 개발자
Docker 설정 메뉴얼 본문
1. 도커 파일 생성
— DB [./Dockerfile_folder/mysql/Dockerfile]
FROM mysql:5.7
# 이미지 환경변수들 세팅
# 실전에서는 비밀번호 등을 이곳에 입력하지 말 것!
# 서버의 환경변수 등을 활용하세요.
ENV MYSQL_USER eboard_user
ENV MYSQL_PASSWORD pks1234
ENV MYSQL_ROOT_PASSWORD pks1234
ENV MYSQL_DATABASE docker_board
# 도커환경에서 컨테이너 생성시 스크립트를 실행하는 폴더로
# 미리 작성된 스크립트들을 이동
COPY ./scripts/ /docker-entrypoint-initdb.d/
# 이미지 빌드 명령어 (현 파일과 같은 디렉토리에서)
# docker build -t {이미지명} .
# 실행 명령어 (터미널에 로그 찍히는 것 보기)
# docker run --name {컨테이너명} -it -p 3306:3306 {이미지명}
# 실행 명령어 (데몬으로 실행)
# docker run --name {컨테이너명} -p 3306:3306 -d {이미지명}
From : mysql 5.7버전 사용
ENV : 디비에 필요한 설정
COPY : 불러와야하는 DDL생성문 폴더경로 (테이블, 사용자정보)
— Server[./]
FROM tomcat:8.5
MAINTAINER eGovframe Center
COPY target/*.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
From tomcat 8.5 버전 사용
2. docker-compose.yml 파일 생성
version: '3'
services:
mysql-server:
# Dockerfile이 있는 위치
build: ./Dockerfile_folder/mysql
# 내부에서 개방할 포트 : 외부에서 접근할 포트
ports:
- "3308:3306"
command:
mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --skip-character-set-client-handshake --lower_case_table_names=1
environment:
TZ: "Asia/Seoul"
backend:
build: .
# 연결할 외부 디렉토리 : 컨테이너 내 디렉토리
ports:
- "8080:8080"
# 환경변수 설정
depends_on:
- mysql-server
version : 3만 적으면 3의 최신버전을 사용한다는 의미
services : 아래에 실행하려는 컨테이너를 정의
build : Dockerfile의 위치 지정
ports : "사용자포트번호:컨테이너포트번호" (컨테이너 포트번호는 중복 가능)
command : 명령어 실행 목록(utf8, 테이블 정보 소문자 기능 추가)
environment : 환경 설정
TZ : TimeZone 시간 기준 설정
※주의※
같은 mysql 설정이지만 세팅하기 위해서 넣는 위치가 각자 다르다 (environment, command)
depends_on 도커파일 실행 순서
— context-datasource.xml (접속 DB 입력)
<property name="url" value="jdbc:mysql://mysql-server:3306/docker_board?...
3. 도커 파일 실행
cd D:\\board\\workspace\\board //프로젝트 경로로 이동
D:\\board\\workspace\\board> docker-compose up -d //현재 경로의 docker-compose 실행
docker ps -a //컨테이너 목록 확인
docker exec -it board_mysql-server_1 bash //컨테이너로 이동
mysql -u root -p //mysql 로그인
show variables like'c%'; //언어 확인
select @@global.time_zone, @@session.time_zone; //글로벌 시간 확인
참고 : https://www.youtube.com/watch?v=hWPv9LMlme8
개인적으로 정리한 내용을 간단하게 풀어 작성했습니다. 이해가 안가는 부분은 댓글 남겨주시면 설명해드리겠습니다. |
'Open Source' 카테고리의 다른 글
amCharts 5 계층형 Treemap 메뉴얼 (0) | 2022.11.23 |
---|---|
MyBatis resultMap collection 사용법 [1:N select] (0) | 2022.07.29 |
summernote 메뉴얼 (0) | 2021.12.05 |
CKEditor5 메뉴얼 (0) | 2021.12.05 |
Comments