[Docker]Docker 엔진 업데이트-7

도커 엔진이 계속 최신 버전으로 올라가기 때문에 기존에 사용하는 엔진이 구형이 되었을때 성능,  버그, 보안 패치, 새로운 기능등의 이유로 업그레이드가 권장됩니다.
이번글에서는 어떻게 업데이트를 할수 있는지 정리해보겠습니다.

[시나리오]

현재 F 사는 ubunt18.04 운영체제에 docker 19.x 버전을 사용 중이다. 새로운 기능의 호환성을 맞추고 성능 향상을 위해 최신 버전 업데이트를 결정했다.
작업 절차는 다음과 같다.

  1. 기존에 실행 중인 컨테이너들을 stop 한다.
  2. 현재 사용 중인 19.X 버전의 docker 엔진을 삭제한다.
  3. 최신 버전의 docker 엔진을 설치한다.
  4. 기존 버전에서 운영 중이 였던 컨테이너 기동(start)!
  5. If, error 발생 시 원인 파악, 문제 해결 -> 중지되었던 컨테이너 start
  6. 필요에 따라 Ubuntu Linux도 18.04 -> 22.04 로 upgrade 수행 (실습에서는 제외)
sudo apt update
sudo apt -y remove docker-ce

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# apt repository source에 docker repo 추가. (keyring 포함)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io

정상적으로 엔진이 올라갔다. 이제 멈춰진 container들을 다시 시작하면 끝이다.

하지만 간혹 이전 container가 시작 시 오류가 날 수 있는데 해결 방법은 다음과 같다.

jeff@hostos3:~$ docker start nginx-web
docker: Error response from daemon: groups: group mountpoint does not exist: unknown.
jeff@hostos3:~$ docker start httpd-web
docker: Error response from daemon: groups: group mountpoint does not exist: unknown.

jeff@hostos3:~$ sudo mkdir /sys/fs/cgroup/systemd
jeff@hostos3:~$ sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

위처럼 오류가 발생 시
sudo mkdir /sys/fs/cgroup/systemd

sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

입력해주면 해결 된다.

 

이번 장은 시나리오 상황을 준비하지 못해서 강의 내용을 정리만 하고 넘어가겠습니다.

Leave A Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다