반응형
docker- compose 로구성된 개발 환경 구축
시스템 항목
- mysql
- mysql web admin
- cassandra
version: '3.1'
services:
##########################################
# DB Mysql
##########################################
database:
image: mysql:5.7.21
container_name: mysql_hc_tracking
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--explicit_defaults_for_timestamp=1
--innodb_use_native_aio=0
# --innodb_force_recovery=1
# --init-file ./initdata/init_mysql_tracking_server.sql
restart: always
environment:
MYSQL_DATABASE: hc_tracking
MYSQL_USER: hc_tracking
MYSQL_PASSWORD: hc_tracking1!@
MYSQL_ROOT_PASSWORD: root1!@
TZ: Asia/Seoul
volumes:
- ${MYSQL_DATA_FOLDER}:/var/lib/mysql # windows volumes link
- ./initdata/:/docker-entrypoint-initdb.d
#- /var/lib/mysql:/var/lib/mysql # 리눅스용 볼륨
#- /etc/timezone:/etc/timezone:ro
#- /etc/localtime:/etc/localtime:ro
ports:
- 3306:3306
##########################################
# DB Web Manager
##########################################
adminer:
image: adminer
container_name: adminer_hc_tracking
restart: no
ports:
- 8080:8080
##########################################
# No Sql DB Cassandra
##########################################
cassandra:
build: ./cassandra
container_name: cassandra_hc_tracking
restart: always
environment:
CASSANDRA_RPC_ADDRESS: 0.0.0.0
# CASSANDRA_BROADCAST_ADDRESS: 1.2.3.4
# CASSANDRA_LISTEN_ADDRESS: localhost
# CASSANDRA_SEEDS: 127.0.0.1
volumes:
- ${CASSANDRA_DATA_FOLDER}:/var/lib/cassandra
- ./cassandra/data/:/docker-entrypoint-initdb.d
ports:
- 7000:7000
- 7001:7001
- 7199:7199
- 9042:9042
- 9160:9160
# Dockerfile 컨테이너 안의 내부 경로( virtual machine 안에 볼륨 링크)
#volumes:
# db-mysql-data:
Cassandra Port Description
TCP 7000 | Cassandra inter-node cluster communication. |
TCP 7001 | Cassandra SSL inter-node cluster communication. |
TCP 7199 | Cassandra JMX monitoring port. |
TCP 9042 | Cassandra client port. |
TCP 9160 | Cassandra Thrift client port. |
TCP 9404 | Prometheus plugin port. |
rpc_address (기본값 : localhost) 클라이언트 연결의 수신 주소 (Thrift RPC 서비스 및 기본 전송)입니다.
유효한 값 :unset : 노드의 구성된 호스트 이름 구성을 사용하여 주소를 해석합니다.
설정하지 않은 경우, 호스트 이름은 / etc / hostname, / etc / hosts 또는 DNS를 사용하여 이 노드의 IP 주소로 해석됩니다.
-
0.0.0.0 : 구성된 모든 인터페이스를 청취합니다. broadcast_rpc_address를 0.0.0.0 이외의 값으로 설정해야합니다.
-
IP 주소
- 호스트 이름
RPC_ADDRESS = 0.0.0.0
env
환경 설정 프로퍼티 역활을 한다.
#VOLUMES
MYSQL_DATA_FOLDER=C:\Users\skan\docker-data\db\mysql-tracking-data
CASSANDRA_DATA_FOLDER=C:\Users\skan\docker-data\db\cassandra-tracking-data
cassandra initial schema.
- 카산드라 도커 실행시 실행할 최기화 파일
-- Drop the keyspace if it exists
DROP KEYSPACE IF EXISTS hc_tracking_keyspace;
-- Create our keyspace
CREATE KEYSPACE hc_tracking_keyspace WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': 1 };
-- Use the keyspace
USE hc_tracking_keyspace;
-- Table: session_events
CREATE COLUMNFAMILY user_sessions (
session_id text,
ts timestamp,
path text,
PRIMARY KEY(session_id, ts)
);
CREATE TABLE users (
user_id int PRIMARY KEY,
fname text,
lname text
);
반응형
'devops > docker' 카테고리의 다른 글
Dockerfile command / Attribute 명령어 설명 (0) | 2019.06.21 |
---|---|
docker 기본 명령어 및 설명 (1) | 2019.06.21 |
docker mysql timezone 기준 시간대 변경 (0) | 2018.10.12 |
Docker 기본 명령어 (0) | 2018.04.24 |
Docker 설치 & Docker Sonarqube 설치 (0) | 2017.09.04 |