내일 할일 node app
docker스웜으로 갈아 타야 할듯 하다.
일단 쿠버네티스 는 오버엔지니어링이기도 하고 클러스터 구축에 너무 많은 시간이 소요된다. 또한 런타임 도커를 지원안하기 때문에 맥이 빠졌다.
따라서 쉽고 쓰기도 간편한 docker스웜 컨테이너 오케스트레이션으로 전환한다.
서비스 생성
docker service create --replicas 2 -p 8080:80 --name web nginx
서비스 조회
docker service ls
docker service scale web=4 ## 4개의 컨테이너를 활성화하여 scale out을 한다.
docker service scale web=1 ## 1개의 컨테이너만 활성화하여 scale in을 한다.
docker service rm web ## web 활성화를 다운시킨다.
docker-machine ls
각 노드 설정정보 (네트워크 등) 확인
레지스트리
docker run -d --name 레지이미지 -p 5000:5000 registry
레지스트리 등록 조회
curl -X GET http://localhost:5000/v2/_catalog
docker service ps 서비스명
docker service logs 서비스명
docker container exec -it worker01
-docker 컨테이너 worker01에서 실행
docker container exec -it manager \
docker service create --replicas 3 --publish 3000:3000 --name fungap registry:5000/stravinest/fungap:latest
-manager에서 실행 외부 도커에서 3000 포트로 연결하면 3000으로 들어와서 실행된다.
볼륨 마운트 -> 로컬 볼륨이 존재하지 않는 노드에는 컨테이너가 할당 될 수 없음
docker container exec -it manager docker service create --replicas 3 --publish 9000:3000 --name fungap --mount type=bind,src=/home/fungap,dst=/usr/src/app registry:5000/stravinest/fungap:latest
/usr/src/app
docker container exec -it manager
docker container exec -it manager sh
-안으로 들어가기
docker container exec -it manager docker service create --replicas 1 --publish 9000:3000 --name fungap --mount type=volume,src=fungap,target=/usr/src/app registry:5000/stravinest/fungap:latest
/var/lib/docker/volumes/fungap/_data
여기에 볼륨 저장 공유합니다.