...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
version: '2' services: front-end: image: weaveworksdemos/front-end:0.3.12 hostname: front-end restart: always cap_drop: #컨테이너 기능 모두 삭제 참조: http://wiki.thesanse.com/display/DS/96.+Docker+capabilities - all read_only: true #flag to set the volume as read-only edge-router: image: weaveworksdemos/edge-router:0.1.1 ports: - '80:80' - '8080:8080' cap_drop: - all cap_add: #컨테이너 기능 추가 - NET_BIND_SERVICE - CHOWN - SETGID - SETUID - DAC_OVERRIDE read_only: true tmpfs: #임시 파일 시스템을 컨테이너 안에 마운트하십시오.단일 값 또는 목록 일 수 있습니다. - /var/run:rw,noexec,nosuid hostname: edge-router restart: always catalogue: image: weaveworksdemos/catalogue:0.3.5 hostname: catalogue restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true catalogue-db: image: weaveworksdemos/catalogue-db:0.3.0 hostname: catalogue-db restart: always environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_ALLOW_EMPTY_PASSWORD=true - MYSQL_DATABASE=socksdb carts: image: weaveworksdemos/carts:0.4.8 hostname: carts restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true tmpfs: - /tmp:rw,noexec,nosuid environment: - JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom -Dspring.zipkin.enabled=false carts-db: image: mongo:3.4 hostname: carts-db restart: always cap_drop: - all cap_add: - CHOWN - SETGID - SETUID read_only: true tmpfs: - /tmp:rw,noexec,nosuid orders: image: weaveworksdemos/orders:0.4.7 hostname: orders restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true tmpfs: - /tmp:rw,noexec,nosuid environment: - JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom -Dspring.zipkin.enabled=false orders-db: image: mongo:3.4 hostname: orders-db restart: always cap_drop: - all cap_add: - CHOWN - SETGID - SETUID read_only: true tmpfs: - /tmp:rw,noexec,nosuid shipping: image: weaveworksdemos/shipping:0.4.8 hostname: shipping restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true tmpfs: - /tmp:rw,noexec,nosuid environment: - JAVA_OPTS=-Xms64m -Xmx128m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom -Dspring.zipkin.enabled=false queue-master: image: weaveworksdemos/queue-master:0.3.1 hostname: queue-master volumes: #볼륨을 설정합니다. 호스트 폴더:게스트폴더 - /var/run/docker.sock:/var/run/docker.sock restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true tmpfs: - /tmp:rw,noexec,nosuid rabbitmq: image: rabbitmq:3.6.8 hostname: rabbitmq restart: always cap_drop: - all cap_add: - CHOWN - SETGID - SETUID - DAC_OVERRIDE read_only: true payment: image: weaveworksdemos/payment:0.4.3 hostname: payment restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true user: image: weaveworksdemos/user:0.4.4 hostname: user restart: always cap_drop: - all cap_add: - NET_BIND_SERVICE read_only: true environment: - MONGO_HOST=user-db:27017 user-db: image: weaveworksdemos/user-db:0.4.0 hostname: user-db restart: always cap_drop: - all cap_add: - CHOWN - SETGID - SETUID read_only: true tmpfs: - /tmp:rw,noexec,nosuid user-sim: image: weaveworksdemos/load-test:0.1.1 cap_drop: - all read_only: true hostname: user-simulator command: "-d 60 -r 200 -c 2 -h edge-router" | ||||||
Info | ||||||
cap-add / cap-drop 설명 https://docs.docker.com/engine/reference/run/ 기본적으로 허용되며 제거 할 수있는 Linux 기능 옵션 기능 키 | 기능 설명 | | ||||
SETPCAP | 프로세스 기능을 수정하십시오. | |||||
MKNOD | mknod (2)를 사용하여 특수 파일을 작성하십시오. | |||||
AUDIT_WRITE | 기록을 커널 감사 로그에 기록하십시오. | |||||
CHOWN | 파일 UID와 GID를 임의로 변경하십시오 (chown (2) 참조). | |||||
NET_RAW | RAW 및 PACKET 소켓을 사용하십시오. | |||||
DAC_OVERRIDE | 파일 읽기, 쓰기 및 실행 권한 검사를 건너 뜁니다. | |||||
FOWNER | 일반적으로 프로세스의 파일 시스템 UID가 파일의 UID와 일치해야하는 작업에 대한 권한 검사를 건너 뜁니다. | |||||
FSETID | 파일을 수정할 때 set-user-ID 및 set-group-ID 사용 권한 비트를 지우지 마십시오. | |||||
KILL | 신호 전송에 대한 사용 권한 검사를 건너 뜁니다. | |||||
SETGID | 프로세스 GID 및 보충 GID 목록을 임의로 조작합니다. | |||||
SETUID | 프로세스 UID를 임의로 조작하십시오. | |||||
NET_BIND_SERVICE | 소켓을 인터넷 도메인 권한 포트 (1024보다 작은 포트 번호)에 바인딩합니다. | |||||
SYS_CHROOT | chroot (2)를 사용하여 루트 디렉토리를 변경하십시오. | |||||
SETFCAP | 파일 기능을 설정하십시오. | |||||
기능 키 | 기능 설명 | |||||
SYS_MODULE | 커널 모듈로드 및 언로드. | |||||
SYS_RAWIO | I / O 포트 작업을 수행하십시오 (iopl (2) 및 ioperm (2)). | |||||
SYS_PACCT | acct (2)를 사용하여 프로세스 계정을 켜거나 끕니다. | |||||
SYS_ADMIN | 다양한 시스템 관리 작업을 수행합니다. | |||||
SYS_NICE | 프로세스 nice 값 (nice (2), setpriority (2))을 올리고 임의 프로세스의 nice 값을 변경합니다. | |||||
SYS_RESOURCE | 리소스 제한을 무시하십시오. | |||||
SYS_TIME | 시스템 시계 설정 (settimeofday (2), stime (2), adjtimex (2)); 실시간 (하드웨어) 시계를 설정하십시오. | |||||
SYS_TTY_CONFIG | vhangup (2) 사용; 가상 터미널에서 다양한 권한이 부여 된 ioctl (2) 작업을 사용합니다. | |||||
AUDIT_CONTROL | 커널 감사를 활성화 및 비활성화합니다. 감사 필터 규칙을 변경합니다. 감사 상태 및 필터링 규칙을 검색합니다. | |||||
MAC_ADMIN | MAC 구성 또는 상태 변경을 허용합니다. Smack LSM을 위해 구현되었습니다. | |||||
MAC_OVERRIDE | 필수 액세스 제어 (MAC)를 재정의하십시오.Smack Linux Security Module (LSM)을 위해 구현되었습니다. | |||||
NET_ADMIN | 다양한 네트워크 관련 작업을 수행합니다. | |||||
SYSLOG | 권한이있는 syslog (2) 작업을 수행하십시오. | |||||
DAC_READ_SEARCH | 파일 읽기 권한 검사 및 디렉토리 읽기 및 실행 권한 검사 무시. | |||||
LINUX_IMMUTABLE | FS_APPEND_FL 및 FS_IMMUTABLE_FL i- 노드 플래그를 설정하십시오. | |||||
NET_BROADCAST | 소켓 브로드 캐스트를 만들고 멀티 캐스트를 수신합니다. | |||||
IPC_LOCK | 메모리를 잠급니다 (mlock (2), mlockall (2), mmap (2), shmctl (2)). | |||||
IPC_OWNER | System V IPC 오브젝트에 대한 조작에 대한 권한 점검을 생략하십시오. | |||||
SYS_PTRACE | ptrace (2)를 사용하여 임의의 프로세스를 추적합니다. | |||||
SYS_BOOT | reboot (2) 및 kexec_load (2)를 사용하고 재부팅하고 나중에 실행할 수 있도록 새 커널을로드하십시오. | |||||
LEASE | 임의 파일에 대한 임대 설정 (fcntl (2) 참조). | |||||
WAKE_ALARM | 시스템을 깨울 뭔가를 방아쇠를 당깁니다. | BLOCK_SUSPEND | 시스템 일시 중지를 차단할 수있는 기능을 사용합니다.