bash의 날짜 추가가 docker에서 작동하지 않습니다

bash의 날짜 추가가 docker에서 작동하지 않습니다

나는 많은 스택 교환 사이트와 날짜 계산 방법에 대한 다양한 기타 튜토리얼 사이트의 예제를 따랐습니다. 컨테이너에서 Linux를 사용해 보았지만 똑같은 오류가 발생했습니다.

$ docker run -it bash date -d '2014-11-19T15:40:30+10d'
date: invalid date '2014-11-19T15:40:30+10d'
bash-5.0# date -d  '+10 days'
date: invalid date '+10 days'
bash-5.0# date -d  '+10 d'
date: invalid date '+10 d'
bash-5.0# date -d  '2014-11-19T15:40:30+10 d'
date: invalid date '2014-11-19T15:40:30+10 d'
bash-5.0# date -d  '2014-11-19T15:40:30+10 days'
date: invalid date '2014-11-19T15:40:30+10 days'
bash-5.0# date -d  '2014-11-19T15:40:30 +10 days'
date: invalid date '2014-11-19T15:40:30 +10 days'
bash-5.0# date -d  '2014-11-19T15:40:30 +10 d'
date: invalid date '2014-11-19T15:40:30 +10 d'

배쉬 버전:

$ docker run -it bash bash --version
GNU bash, version 5.0.2(1)-release (x86_64-pc-linux-musl)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

나는 노력했다이 게시물 이 게시물그리고이 게시물그리고 심지어이 무작위 웹사이트

그것들이 모두 틀릴 수는 없습니다.

답변1

$ docker run bash date --version
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.
...

사용 중인 BusyBox 버전은 date대부분의 데스크톱 Linux 배포판에 있는 Coreutils 버전과 완전히 호환되지 않습니다. BusyBox 매뉴얼 페이지를 인용하면 다음과 같습니다.

Recognized TIME formats:

hh:mm[:ss]
[YYYY.]MM.DD-hh:mm[:ss]
YYYY-MM-DD hh:mm[:ss]
[[[[[YY]YY]MM]DD]hh]mm[.ss]
'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead

가능한 옵션은 다음과 같습니다.

  • BusyBox 특수 -D키(예 : )를 사용하면 Coreutils busybox date -D +10days와 유사한 시간 표현에 대한 지원이 확장됩니다 . date -dCoreutils는 이 옵션을 인식하지 못합니다 date.
  • 두 구현 모두에서 지원되는 BusyBox 구문을 사용하세요.
  • 설치하다핵심 도구Docker 컨테이너에 있습니다.
  • Coreutils와 함께 기존 컨테이너를 사용합니다.

관련 정보