Docker tomcat mysql mongo
tomcat 서버에서 mysql과 mongodb를 동시에 사용할 일이 있어서 도커 환경으로 만들어봤다.
#!/bin/sh
/usr/bin/sudo rm -rf ./db ./webapps ./mongo
mkdir db
mkdir mongo
mkdir -p webapps
mkdir initdb
cd initdb
initdb.sql : 테이블 스키마. 초기 데이터 쿼리
mkdir initmongo
cd initmongo
cat > initdb.js
db.createUser(
{
user: "myhome",
pwd: "myhome00.",
roles:[
{
role: "readWrite",
db: "DB_ANALYZE"
}
]
}
);
mkdir locallib
cd locallib
*.so 파일 복사. (/usr/local/lib 으로 연결)
mkdir myhome
cd myhome
was에서 사용하는 설정 파일들
docker-compose.yml
version: '2'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: myhome00.
MYSQL_DATABASE: DB_ANALYZE
MYSQL_USER: myhome
MYSQL_PASSWORD: myhome00.
ports:
- "3306:3306"
volumes:
- ./mycustom.cnf:/etc/mysql/conf.d/custom.cnf
- ./db:/var/lib/mysql
- ./initdb:/docker-entrypoint-initdb.d
restart: always
mongo:
image: mongo
environment:
MONGO_INITDB_ROOT_USERNAME: myhome
MONGO_INITDB_ROOT_PASSWORD: myhome00.
MONGO_INITDB_DATABASE: DB_ANALYZE
ports:
- "27018:27017"
volumes:
- ./mongo:/data/db
- ./initmongo:/docker-entrypoint-initdb.d
restart: always
web:
image: crazyj7/ubuntu16.04-tomcat8-jre8
depends_on:
- db
- mongo
environment:
JDBC_URL: jdbc:mysql://db:3306/DB_ANALYZE?connectTimeout=0&socketTimeout=0&autoReconnect=true
JDBC_USER: myhome
JDBC_PASS: myhome00.
ports:
- "9090:8080"
mac_address: 02:42:ac:15:00:03
volumes:
- ./webapps:/usr/local/tomcat/webapps
- ./myhome:/myhome
- ./locallib:/usr/local/lib
links:
- db
- mongo
restart: always
mycustom.cnf
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
skip-name-resolve
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
! 중요!! skip-name-resolve를 위에 지정하지 않으면 DB 접속시 1분정도??? Delay가 발생하는 현상이 생길수 있다!
실행
docker-compose up
다른 쉘에서 war를 webapps에 복사한다.
9090 포트로 접속하여 테스트
'Develop > Linux_Unix' 카테고리의 다른 글
[ssl] SSL test 인증서 만들기(https 설정) (0) | 2023.01.04 |
---|---|
[docker] Debian OS에 Apache2컨테이너, Tomcat컨테이너 연동 (0) | 2023.01.04 |
[도커] tomcat, mariadb 환경 war hang/slow (0) | 2021.04.28 |
Bash Tip 작업속도를 빠르게 (0) | 2021.03.03 |
리눅스 백그라운드 실행(터미널종료에도) (1) | 2021.02.23 |