어떻게 시간을 호스트의 시간을 변경하지 않고 컨테이너를 수정하는 방법?

수요

때로는 필요가 어떻게 운영 절차, 시험에 특정 시간에 할당 된 시간, 테스트 修改容器时间에 영향을주지 않고를 宿主机时间?

솔루션

GitHub에 오픈 소스가  libfaketime 프로젝트를, 우리는이 문제를 해결할 수 있습니다. 현재, 프로젝트는이  1.3k 스타.

프로젝트 주소

  • https://github.com/wolfcw/libfaketime

지원되는 플랫폼

  • 리눅스
  • 맥 OS

설치

注意:에서 꼭가  sudo make install, 그렇지 않으면  libfaketime.dylib.1 실행 할 수있는 권한, 기본 설치가없는  /usr/local/bin/faketime 및 /usr/local/lib/faketime/

# 下载项目$ git clone https://github.com/wolfcw/libfaketime.git
# 进入项目$ cd libfaketime
# 编译安装$ sudo make && sudo make install

용도

  • 동적 링크 라이브러리를 지정
# 正常时间$ date
Mon Mar 26 21:01:46 CST 2019
# 设置成三天前时间 $ LD_PRELOAD=/path/to/libfaketime.so.1 FAKETIME="-3d" date
Sun Mar 23 21:01:48 CST 2019
# 可以通过设置临时 LD_PRELOAD 环境变量$ export LD_PRELOAD=/path/to/libfaketime.so.1
# 可以加入到 ~/.bashrc 目录中$ echo "LD_PRELOAD=/path/to/libfaketime.so.1" >> ~/.bashrc
# Linux 系统,可以加入到 ld.so.conf 配置中$ echo "/path/to/libfaketime.so.1" >> /etc/ld.so.conf.d/local.conf
# 使 local.conf 配置生效$ ldconfig
  • faketime 명령
# 正常时间$ dateMon Mar 26 21:04:42 CST 2019
# 修改后时间$ faketime '2019-03-27 21:04:52' date
Tue Mar 27 21:04:52 CST 2019
  • 아주 강력한. 자세한 사용법은 참조 할 수 있습니다  GitHub 설명 https://github.com/wolfcw/libfaketime

추천

출처www.cnblogs.com/cheyunhua/p/12047267.html