developer tip

누구든지 docker.sock을 설명 할 수 있습니까?

optionbox 2020. 9. 6. 09:28
반응형

누구든지 docker.sock을 설명 할 수 있습니까?


나는 설치에 대한 실제 이유를 이해하려고 노력하고 있어요 docker.sockdocker-compose.yml파일을. 자동 검색 용입니까?

volumes:
  - /var/run/docker.sock:/var/run/docker.sock

docker.sockDocker 데몬이 수신하는 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

반응형