0
도커 컨테이너 내부에서 시스템 호스트 시간을 설정하려면 어떻게해야합니까?도커 컨테이너 내에서 호스트 시간 설정
내 목표는 시스템 호스트 시간을 설정하는 데 사용할 수있는 매우 간단한 REST API를 노출하는 것입니다. REST 서비스는 컨테이너 내부에서 실행됩니다.
도커 컨테이너 내부에서 시스템 호스트 시간을 설정하려면 어떻게해야합니까?도커 컨테이너 내에서 호스트 시간 설정
내 목표는 시스템 호스트 시간을 설정하는 데 사용할 수있는 매우 간단한 REST API를 노출하는 것입니다. REST 서비스는 컨테이너 내부에서 실행됩니다.
기본적으로 Docker 컨테이너는 호스트의 시스템 시계에 대한 액세스를 허용하지 않습니다.
그러나이 기능에 액세스 할 수있는 컨테이너를 신중하게 고려한 후에는 "docker run"명령의 "--cap-add = SYS_TIME"옵션을 사용하여 Linux에서이 기능을 명시 적으로 허용 할 수 있습니다 당신 컨테이너 : 다음
# docker run --cap-add=SYS_TIME -d --name teamcity-server-instance -v /opt/teamcity/data:/data/teamcity_server/datadir -v /opt/teamcity/logs:/opt/teamcity/logs -p 80:8111 jetbrains/teamcity-server
, 당신은 실행 컨테이너 내부에서 시간을 변경할 수 있습니다
# docker exec -it teamcity-server-instance /bin/bash
# date +%T -s "15:03:00"
15:03:00
#
참조 문서 : https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities
'그 아마 가능하지 않으며, 정말 나쁜 생각처럼 들립니다. 시간은 인증과 같은 일에 필수적인 요소입니다. 하나의 잘못된 요청이이 API로 전송되어 귀하의 컴퓨터에 접근 할 수 없습니다. –
참고 : https://serverfault.com/questions/824631/how-to-set-system-time-dynamically-in-a-docker-container –
@MattJohnson 동의. 호스트의 시간대 설정과 같이 덜 해롭지 않은 무언가는 어떻습니까? 이것은 일반적인 행동입니다. –