란쳐에서 배포된 도커를 실행하는 방법은 두가지가 있다. 하나는 도커 이미지 경로를 통해서 직접 추가하는방법과
도커 컴포져를 이용하는 방법이다.
- 단일 도커이미지 : 지정된 서버에서 구동
- 도커 컴포져 : 업데이트 관리가 되며, 여러 도커이미지를 묶을수 있음
직접추가 - Add Container
docker run 명령을 UI에서 한다고 보면 된다.
도커 컴포져 - Add Stack
기본적으로 docker-composer 의 2.0 과 모두호환되며 , 개별로 구성된 도커 이미지를 그룹화할수 있다.
io.rancher 는 서비스 구동을 위한 란쳐만을 위한 옵션이며
특정 라벨링이 된 서버에만 뛰우게 한다던지, 3대를 유지하게 스케일 아웃옵션을 준다던지 할수 있으며
업데이트에 따른 무중단 배포도 지원한다. 참고 : https://rancher.com/docs/rancher/v1.2/en/cattle/labels/
기본 도커 컴포져 셋팅에서, 확장되는 컨셉이며 운영 전략에 맞게 도커 이미지를 더 강력하고 쉽게 셋팅을 할수 있다.
도커컴포져
version: '2' services: labs-morp: image: psmon/labs-morp environment: ASPNETCORE_ENVIRONMENT: Development ports: - 8080:5000/tcp labels: io.rancher.scheduler.affinity:host_label: server=sub1 io.rancher.container.hostname_override: container_name
version: '2' services: owncloud: image: owncloud ports: - 8080:80 volumes: - owndata:/var/www/html/data - owndata:/var/www/html/config labels: io.rancher.scheduler.affinity:host_label: host=docker1 io.rancher.container.hostname_override: container_name links: - postgres:owncloud-db postgres: image: postgres:9.6 ports: - 5432:5432 environment: - POSTGRES_PASSWORD=xxxxxx volumes: - owndata:/etc/postgresql - owndata:/var/lib/postgresql labels: io.rancher.scheduler.affinity:host_label: host=docker1 io.rancher.container.hostname_override: container_name volumes: owndata: driver: rancher-nfs driver_opts: exportBase: /owndata