방법: 1. "docker run -name
-v" 명령을 사용하여 호스트의 현지 시간을 공유합니다. 2. "docker cp /etc/localtime:container ID/etc/localtime" 명령을 사용하여 호스트의 현지 시간.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
둘의 시간대가 통일되어야 합니다.
공유 호스트의 localtime(방법 1)
컨테이너 생성 시 시작 매개변수를 지정하고, localtime 파일을 컨테이너에 마운트하고, 둘이 사용하는 시간대가 일치하는지 확인하세요.
docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....
호스트의 현지시간을 복사한다(방법2)
docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime
완료 후 date 명령어를 통해 현재 시간을 확인한다.
단, 컨테이너에서 실행 중인 프로그램의 시간은 업데이트되지 않을 수 있습니다. 예를 들어 컨테이너에서 실행 중인 MySQL 서비스의 경우, 시간을 업데이트한 후 sql
select now() from dual;
를 통해 MySQL 시간을 확인하면 시간을 알 수 있습니다. 변경되지 않았습니다.
이때, mysql이 변경된 시간을 읽을 수 있도록 mysql 서비스를 다시 시작하거나 Docker 컨테이너를 다시 시작해야 합니다.
사용자 정의 dockerfile 만들기(방법 3)
dockerfile 파일을 만듭니다. 실제로는 내용이 없습니다. 이미지의 시간 형식과 시간대만 사용자 정의합니다.
FROM redis FROM tomcat ENV CATALINA_HOME /usr/local/tomcat #设置时区 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' >/etc/timezone \
저장 후 docker build 명령을 사용해 사용할 이미지를 생성해 주세요.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 docker의 컨테이너 시간과 호스트 시간이 동기화되지 않으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!