누구든지 docker.sock을 설명 할 수 있습니까?
나는 설치에 대한 실제 이유를 이해하려고 노력하고 있어요 docker.sock
에 docker-compose.yml
파일을. 자동 검색 용입니까?
volumes:
- /var/run/docker.sock:/var/run/docker.sock
docker.sock
Docker 데몬이 수신하는 UNIX 소켓입니다. Docker API의 주요 진입 점입니다. TCP 소켓 일 수도 있지만 보안상의 이유로 기본적으로 Docker는 기본적으로 UNIX 소켓을 사용합니다.
Docker cli 클라이언트는이 소켓을 사용하여 기본적으로 docker 명령을 실행합니다. 이러한 설정도 재정의 할 수 있습니다.
컨테이너 내부에 Docker 소켓을 마운트해야하는 다른 이유가있을 수 있습니다. 다른 컨테이너에서 새 컨테이너를 시작하는 것과 같습니다. 또는 자동 서비스 검색 및 로깅 목적으로. 이로 인해 공격 표면이 증가하므로 컨테이너 내부에 도커 소켓을 마운트하는 경우 해당 컨테이너 내부에서 실행되는 신뢰할 수있는 코드가있는 경우주의해야합니다. 그렇지 않으면 Docker가 기본적으로 모든 컨테이너를 루트로 시작하므로 도커 데몬을 실행하는 호스트를 손상시킬 수 있습니다.
Docker 소켓에는 대부분의 설치에 docker 그룹이 있으므로 해당 그룹의 사용자는 루트 권한없이 docker 소켓에 대해 docker 명령을 실행할 수 있지만 docker daemon이 루트로 효과적으로 실행되기 때문에 실제 docker 컨테이너는 여전히 root 권한을 얻습니다 (네임 스페이스 및 cgroup에 액세스하려면 루트 권한이 필요함) .
귀하의 질문에 답이되기를 바랍니다.
추가 정보 : https://docs.docker.com/engine/reference/commandline/dockerd/#examples
참고 URL : https://stackoverflow.com/questions/35110146/can-anyone-explain-docker-sock
'developer tip' 카테고리의 다른 글
APK를 Google Play에 자동으로 업로드하는 API? (0) | 2020.09.06 |
---|---|
Android 카메라 android.hardware.Camera 지원 중단됨 (0) | 2020.09.06 |
Python 3.6에 PIP를 설치하는 방법은 무엇입니까? (0) | 2020.09.05 |
JLabel에 하이퍼 링크를 추가하는 방법은 무엇입니까? (0) | 2020.09.05 |
대상 플랫폼을 "모든 CPU"로 변경할 수 없습니다. (0) | 2020.09.05 |