본문 바로가기

전체 글

(266)
[Docker] swarm 모드에서 컨테이너 rebalance 개요 swarm에 컨테이너 생성시 swarm manager는 자동으로 각 노드에 내부 알고리즘을 이용하여 컨테이너를 배포한다. 그러나 운영중 worker 노드가 추가(삭제) 또는 service생성시 특정 노드가 unusable시 의도치 않게 특정 노드에 컨테이너가 집중될수 있다. 이러한 문제를 해결하기 위해 docker는 rebalance 기능을 이용하여 컨테이너를 각 노도에 재 배포할 수 있다. 구성환경 docker-ce-19.03.5 / CentOS 7.6 syntax) docker service update --force serviceName 예) 2노드(총 6개의 컨테이너)로 이루어진 swarm에 1개의 노드를 swarm에 추가, rebalance 실행후 각 노드에 컨테이너가 재 배포 되었는지 확..
[Docker] docker service create --mode 옵션 개요 docker service create 명령어에 사용되는 --mode 옵션 구성환경 docker-ce-19.03.5 / CentOS 7.6 1. --mode 옵션 value : replicated(default), global 설명 - replicated(default, 생략가능) : --replicas 옵션의 n 값에 따라 복제될 컨테이너수가 지정 됨 - global : swarm에 가입하는 노드는 기존 생성된 swarm의 service를 승계 받음 예) replicated 옵션(3개의 노드로 이루어진 swarm) 1) swarm master 노드(node1)에서 서비스 생성 shell> docker service create --mode replicated --replicas 5 -p 8080:..
[Docker] Volume 관리 개요 구성환경 docker-ce-19.03.05 / centos 7.6 1. Volume 생성 1.1 volume 이름 지정 shell> docker volume create myvol 1.2 volume 이름을 지정하지 않을 경우 랜덤한 이름으로 volume 생성 shell> docker volume create e7101b314111c39777c05c4238cb0f47c490fa5402073a2d54159a17b4ba4740 shell> docker volume ls => volume 목록 확인 DRIVER VOLUME NAME local 3aad80ae1cd56138325c04340dae4873b5b62fc0388034600943ebdc30ccb7f9 local 536f3eaa4462aa40d281..
[Docker] swarm 모드에서 NFS 구성 개요 swarm 모드에서 공유 파일 스토리지 접근 구성 구성환경 docker-ce-19.03.5 / CentOS 7.6 1. NFS 서버 구성 1.1 /etc/exports 파일에 nfs 설정 /opt/dockers 192.168.0.0/24(rw,no_root_squash) 1.2 nfs 서비스 (재)구동 shell>systemctl start nfs 2. swarm manager 노드 2.1 nfs 볼륨을 만드는 service 생성 shell>docker service create --publish 8080:80 --replicas 3 --name httpd_1 --mount type=volume,source=nfsvolume1,target=/app,volume-driver=local,volume-o..
[Docker] Swarm 모드 구성 개요 docker swarm은 manager, worker로 구성되는 일종의 클러스터링이다. manager는 컨테이너를 배포하고 관리할수 있는 기능을 가진다. docker swarm은 하나이상의 manager와 worker로 구성됨 구성환경 docker-ce-19.03.5 / CentOS 7.6 1. swarm manager 노드 작업 $ docker swarm init --advertise-addr 192.168.99.121 Swarm initialized: current node (bvz81updecsj6wjz393c09vti) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ -..
[MySQL] InnoDB 데이타 파일 추가(system tablespace) 개요 초기 MySQL은 InnoDB 데이타 파일을 기본적으로 하나만 생성을 한다. 이렇게 운영하다 데이터가 많이 쌓일 경우 Disk I/O 문제가 발생할 소지가 있다. 이를 완화하기 위해 데이터파일을 여러개 만들어 Disk I/O를 분산시켜야 할 경우가 있다. 또는 파일시스템 Full 로 인하여 추가적인 데이타 파일을 생성이 필요할 경우도 발생한다. 여기서는 다중 데이터파일을 생성하는 방법에 대해서 알아 보도록 한다. 구성환경 mysql 5.7.26 / CentOS 7.6 데이타파일 추가 절차 요약 1. 모든 InnoDB 테이블 Dump 백업(mysql 스키마 포함) 2. mysql server 중지 3. ibddata,ib_log 포함한 모든 테이블스페이스 삭제(.ibd) - mysql 스키마에 위치한..
[Docker] Docker Root 디렉토리 변경 개요 구성환경 CentOS 7.6 / Docker-ce-19.03.5 Docker Root 디렉토리 구조 shell> pwd /var/lib/docker shell> ls -F builder/ containers/ network/ plugins/ swarm/ trust/ buildkit/ image/ overlay2/ runtimes/ tmp/ volumes/ shell> Docker Root 디렉토리 변경 절차 1. 현재 Docker Root 디렉토리 확인 shell> docker info | grep "Docker Root Dir" Docker Root Dir: /var/lib/docker => 현재 Root 디렉토리 shell> docker volume inspect my-vol [ { "Creat..
[Docker] Container 관리 개요 구성환경 CentOS 7.6/ docker-ce-19.03 1. 컨테이너 목록 확인 > docker ps : 현재 실행중인 컨테이너 목록 shell> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cdfb9b9576cf ubuntu:latest "/bin/bash" 9 hours ago Up 4 minutes my_ubuntu_1 shell> > docker ps -a : 모든 컨테이너 목록 확인(종료된 컨테이너 포함) shell> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cdfb9b9576cf ubuntu:latest "/bin/bash" 9 hours..