반응형
요즘 토이 프로젝트 할 때 필요한 인프라를 몽땅 docker-compose.yml 에 때려넣고 시작하게 되는 것 같다.
더 이상 docker 없인 살아갈 수가 없다...
개발환경에서 진짜 이만한 게 없다. 옛날처럼 mysql 설치하고 redis 설치하고 client 설치해서 확인하고 접속 안되서 권한 확인하고...
이 작업을 더 이상 할 필요가 없는 것이다.
개발 환경에서 처음 시작하는 애플리케이션의 경우 별 다른 설정 없이 시작하는 경우가 많으니 공통적인 template 형태로 미리 만들어 주는 것이 좋다.
여기에 필요한 설정을 추가하는 것이다.
여기서는 미리 알아 두면 몸이 편한 docker-compose template 몇 가지를 소개하고자 한다.
mysql
version: '3'
services:
mysql:
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 1234
volumes:
- ~/my/data:/var/lib/mysql
credential 은 root/1234 로 지정해주면 된다.
sql server
version: '3.7'
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2019-latest
user: root
ports:
- "1433:1433"
volumes:
- ~/my/data:/var/opt/mssql/data
environment:
ACCEPT_EULA: Y
SA_PASSWORD: 1234
Postgres
version: "3"
services:
postges:
image: postgres
ports:
- "5432:5432"
volumes:
- ~/my/data:/var/lib/postgresql/data
environment:
POSTGRES_USER: test
POSTGRES_PASSWORD: 1234
POSTGRES_DB: test
mongodb
version: "3"
services:
mongodb:
image: mongo:3.6.9
ports:
- "27017:27017"
volumes:
- ~/my/data:/data/db
command: mongod --smallfiles
environment:
- MONGO_INITDB_ROOT_USERNAME=test
- MONGO_INITDB_ROOT_PASSWORD=1234
redis
version: '3'
services:
redis:
image: redis:6.2
ports:
- "6379:6379"
volumes:
- ~/my/data:/data
redis 는 volumes 를 지정하면 default 로 데이터가 저장된다.
kafka
kafka 는 zookeeper 와 한 쌍이기 때문에 zookeeper 를 먼저 띄우고 띄우도록 설정해야 된다.
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.12-2.5.0
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- ~/my/data/docker.sock:/var/run/docker.sock
jira
version: '3'
services:
jira:
image: cptactionhank/atlassian-jira-software:latest
ports:
- "8080:8080"
environment:
CATALINA_OPTS: "-Xms1024m -Xmx2048m -Datlassian.plugins.enable.wait=300"
volumes:
- ~/my/data:/var/atlassian/jira
jira 는 메모리가 2g 정도 필요하다.
jenkins
version: '3'
services:
jenkins:
image: jenkins/jenkins
ports:
- "8080:8080"
volumes:
- ~/my/data:/var/jenkins_home
- ~/my/data/docker.sock:/var/run/docker.sock
혹시나 사용하지 않는 개발자들이 있으면 꼭 한번 써 보도록 하자.
문명을 느껴보는 거다.
반응형
'development > docker' 카테고리의 다른 글
(내가)주로 사용하는 docker 명령어 정리 (0) | 2020.05.19 |
---|---|
docker 로 jira 서버 올리기 (0) | 2020.05.12 |
kitematic 으로 생성한 jenkins 의 plugin업데이트가 되지 않을 때 (0) | 2020.05.12 |
댓글