본문 바로가기
Docker

[Docker] ERROR x509: certificate has expired or is not yet valid: current time 해결하기

by moveho 2023. 5. 25.

[에러 상황]

Error response from daemon: Get "https://registry-1.docker.io/v2/": x509: certificate has expired or is not yet valid: current time 2023-04-30T09:57:31+09:00 is before 2023-05-05T00:00:00Z

 

VM의 Snapshot을 사용해서 이전에 찍어둔 스냅샷을 복원하여 사용할 때 시간이 맞지 않아서 도커 인증서 오류가 나는 경우가 발생한다. 시간이 올바르지 않거나 동기화가 되지 않는 경우에 발생하는 오류입니다. 이를 해결하려면 시스템 시계확인 및 동기화 작업을 해주면 해결 할 수 있습니다.

 

1. [date 확인]

kevin@k8s-master:~/django-todo-cicd$ date
2023. 04. 30. (일) 09:57:59 KST

현재 날짜 시각은 5월 25일인데 4월에 찍어둔 스냅샷을 복원시켜 사용하려고 하니 인증서 만료 또는 시간 오류가 발생합니다.

 

2.  [시간 동기화]

For Ubuntu/Debian

sudo apt update
sudo apt install -y ntpdate
sudo ntpdate -s time.nist.gov

 

For CentOS/RHEL

sudo yum install -y ntp
sudo ntpdate -u time.nist.gov

다음 명령어들을 통해서 현재 시스템 시각을 업데이트 합니다.

3.  [docker daemon 재시작]

sudo systemctl restart docker

docker가 다시 시작될 때 까지 기다립니다.

kevin@k8s-master:~/django-todo-cicd$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-05-25 16:13:12 KST; 5s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 26714 (dockerd)
      Tasks: 10
     Memory: 23.2M
     CGroup: /system.slice/docker.service
             └─26714 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

정상적으로 docker-daemon이 start 됐는지 확인 후 docker 명령어들을 다시 사용해봅니다.

 

 

Removing intermediate container 2702cab02293
 ---> dd507322eb40
Step 7/7 : CMD ["python","manage.py","runserver","0.0.0.0:8000"]
 ---> Running in 64f2ef367ad2
Removing intermediate container 64f2ef367ad2
 ---> 6f608cd3bd77
Successfully built 6f608cd3bd77
Successfully tagged moveho/django-todo:latest

image가 build 되지 않았었는데,

정상적으로 docker image build 가 되는 모습을 확인 할 수 있습니다.

댓글