5:47초 구간에 대한 질문이 있습니다
안녕하세요
영상 5:47초에서 복제 구성을 할 때, 마스터 서버의 IP를 사용하는 것이 아니라 container 이름을 통해 복제 구성을 했다고 설명해주셨는데요. 이 부분에 대한 이해가 잘 안갑니다.
db001 이라는 값은 현재 강의까지 총 3군데에서 사용되었는데요.
- --name db001
- -h db001
- --net-alias=db001
말씀하신 "컨테이너 명"이 이 셋 중에서 어떤 옵션 값을 지칭하신걸까요?
MASTER_HOST 라는 변수 명만 봤을 때는 -h(Container host name)이 맞는 것 같고,
현재 강의에서 다룬 주제를 봤을 때는 --net-alias가 맞는 것 같고,
"컨테이너 명"이라는 말을 그대로 받아들였을 때는 --name이 맞는 것 같아서 혼란스럽습니다.
답변 5
2
hostname은 의미 그대로 해당 container의 호스트명을 의미합니다.
hostname을 별도로 명시하지 않을 경우 default로 생성되는 container의 host명은 해쉬값 형태의 container id가 됩니다.
hostname을 명시적으로 지정해 주기 위한 용도로 -h 옵션으로 host명을 지정해서 사용했습니다.
-h 옵션을 사용해서 hostname을 설정한 경우 :
[root@db001 exporters]# hostname
db001
-h 옵션없이 생성한 경우 :
[root@a39f26b144f4 exporters]# hostname
a39f26b144f4
hostname 설정의 필요성은 아래 질문 내용을 참고하시면 될 거 같습니다.
(https://www.inflearn.com/questions/114999)
alias의 경우는 말 그대로 같은 bridge network을 사용하는 container 간에 접속에 사용될 수 있는 별칭인데요.
강의에서는 계속 container명과 동일하게 같은 alias를 사용했지만 아래와 같은 형태로 다른 별칭으로 사용도 가능합니다.
docker run -i -t --name db001 -h db001 -p 3306:3306 \
--net mybridge --net-alias=master \
-v /db/db001/data:/var/lib/mysql \
-v /db/db001/log:/var/log/mysql \
-v /db/db001/conf:/etc/percona-server.conf.d \
-e MYSQL_ROOT_PASSWORD="root" -d magma1/mysql57:0.0
docker run -i -t --name db002 -h db002 -p 3307:3306 \
--net mybridge --net-alias=slave1 \
-v /db/db002/data:/var/lib/mysql \
-v /db/db002/log:/var/log/mysql \
-v /db/db002/conf:/etc/percona-server.conf.d \
-e MYSQL_ROOT_PASSWORD="root" -d magma1/mysql57:0.0
그리고 본 강의 내용에서는 다루고 있지 않지만 net-alias옵션의 경우 load balancing 용도로 사용할 수도 있는데요.
예를 들면 nginx 같은 웹서버용 container를 web1, web2, web3 와 같이 3개 생성하면서 각각 --net-alias를 같은 이름으로
(--net-alias=web_server) 설정하면 외부에서 "web_server"라는 alias로 접속을 하게 되면 3대의 container 중 한대로 round robin 방식으로 접속할 수 있습니다.
2
저도 간단히 테스트를 해봤는데요.
bridge network를 사용하는 경우에 --net-alias 설정이 없어도 container 명으로 설정이 가능하네요.
bridge network 설정이 없는 상태에서 아래와 같이 생성하면 start slave 시에 connecting error가 발생하구요.
docker run -i -t --name db001 -h db001 -p 3306:3306 -v /db/db001/data:/var/lib/mysql -v /db/db001/log:/var/log/mysql -v /db/db001/conf:/etc/percona-server.conf.d -e MYSQL_ROOT_PASSWORD="root" -d magma1/mysql57:0.0
docker run -i -t --name db002 -h db002 -p 3307:3306 -v /db/db002/data:/var/lib/mysql -v /db/db002/log:/var/log/mysql -v /db/db002/conf:/etc/percona-server.conf.d -e MYSQL_ROOT_PASSWORD="root" -d magma1/mysql57:0.0
다시 bridge network 설정을 넣은 상태에서는 container명만으로 접속이 가능한 것을 확인했습니다.
docker run -i -t --name db001 -h db001 --net mybridge -p 3306:3306 -v /db/db001/data:/var/lib/mysql -v /db/db001/log:/var/log/mysql -v /db/db001/conf:/etc/percona-server.conf.d -e MYSQL_ROOT_PASSWORD="root" -d magma1/mysql57:0.0
docker run -i -t --name db002 -h db002 --net mybridge -p 3307:3306 -v /db/db002/data:/var/lib/mysql -v /db/db002/log:/var/log/mysql -v /db/db002/conf:/etc/percona-server.conf.d -e MYSQL_ROOT_PASSWORD="root" -d magma1/mysql57:0.0
1
안녕하세요.
net alias명과 host명, container명이 모두 동일하게 구성되어서 좀 헷갈릴 수 있겠네요.
bridge network 구성 후에 bridge network를 사용하면서 --net-alias를 함께 사용하게 되는데요.
여기서 세팅한 --net-alias명을 가지고 사용하는 겁니다.
0
저 3 옵션을 전부 다른 값으로 주었을 때 (각각 db001_name, db001_host, db001_net),
MASTER_HOST 변수 값으로 db001_name, db001_net 을 주었을 때 복제 성공하였고, db001_host를 주었을 때 실패하였습니다.
성공/실패 유무는
> show slave status\G
를 통해 얻은 결과에서
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
가 나왔으면 성공이라고 봤습니다.
pdf 압축파일 제공
0
45
1
auto failover 에서 db001 재실행시 db001 read_only 설정하기전 db001, db002 양쪽으로 저장되는 현상
0
189
1
그라파나에서 에러가 발생합니다
0
412
1
CentOS EOS에 따라 기존의 레포지토리 내 패키지들이 삭제되어에러 발생!
0
366
1
프로덕션 환경에서 데이터 베이스 구성에 대하여.
0
246
1
Proxy SQL에 대한 질문입니다.
0
255
1
docker-compose 후 shell 정상작동 후 mysql dashboard 정상작동안함 ㅁ누의
0
178
1
docker-compose build시 db002~db003 not working daemon 현상
0
258
1
testdb.insert_test 테이블 존재 하지 않음에 관한 문의
0
281
2
물리 서버 2대로 Master/Slave 구조가 가능한가요?
0
309
1
failover 진행중 둘다 slave로 설정
0
290
1
app_test_conn.sh
0
300
3
docker orchestrator 설치후 웹접속
0
255
1
docker에서 percona 컨테이너 생성시
0
295
2
app_test_insert.sh 쉘 스크립트 실행 오류
0
238
1
프로메테우스 사용 이유
0
375
1
Slave 서버에서 Master 서버와 연결하는 명령어 입력하면 에러 발생 질문
0
620
2
강의 따라하다가 컴퓨터 재부팅했더니
0
500
1
docker run ... -h -h옵션이 무엇인가요
0
432
1
gluster 설치관련 질문입니다
0
741
2
도와주세요!!!
0
880
2
[Dockerfile] RUN yum install
0
2085
4
HA Fail-over 질문드립니다.
0
907
1
CRUD와 Replication 질문 드립니다.
0
823
1





