Ubuntu에 Docker 설치하기
서론
Ubuntu에 도커를 설치하기에 앞서 Ubuntu버전 확인이 필수이다. Ubuntu가 22버전 이후 /etc/apt/keyrings라는 폴더가 생기면서 GPG에 관하여 변경이 되었다.
그러므로 22.04버전 전후로 설치할 때 신경써줘야 할 부분이 다른점이 있기에 버전을 먼저 확인하고 설치 알아보는 것이 좋다.
내 PC는 20.04를 설치할까 하다 지원 기간이 1년 남았다는 이야기를 듣고 Ubuntu24.04LTS를 설치하였기에 24.04를 기준으로 설명할 것이다.
추가로 공식 홈페이지에서 .deb파일을 다운받아서
#/bin/bash
sudo apt-get update
sudo apt-get install ./docker-desktop-<버전>.deb
형태로 설치하는 것이 가장 쉽고 빠른 길이지만 다른 방식으로 접근해 보겠다.
apt repository 추가
Docker공식 홈페이지를 보면(https://docs.docker.com/engine/install/ubuntu/)
#/bin/bash
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
위와 같이 입력하여 공식 GPG 키를 저장하고 하면 된다고 한다.


무사히 진행되었다면 apt를 이용하여 Docker와 Docker-compose를 설치해보자
Docker와 Docker-compose를 설치하기 위해 필요한 것들은
docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin으로 도커 엔진 및 cli, 도커데몬, 플러그인 등
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
와 같이 설치하면 된다.
Docker group
설치를 완료하고 docker ps 또는 docker run hello-world를 입력해보면

이와 같은 오류를 발견 할 수 있을 것이다.
자세히 보면 알 수 있듯이 권한문제로 발생하는 오류다.
간단하게 sudo만 붙여서 사용하면 되기는 하지만 이는 올바른 방법이 아니다. 그럼 어떻게 해야 올바르게 사용 할 수 있을까?
이를 위해 알기 위해 우선 권한이 없다고 하는 파일의 정보를 확인해보자

소유자는 root 그룹은 docker이고 소유자와 그룹은 rw의 권한아 있고 기타 사용자는 사용 할 수 없는 것을 확인 해 볼 수 있다.
그러면
cat /etc/group
을 입력해 확인해보자

맨 하단에 docker 그룹이 있는 것을 확인 할 수 있다. 마지막으로
groups $USER
를 입력해 보면 현재 사용자는 docker에 소속되어 있지 않으므로 기타 사용자로서 도커데몬을 실행시킬 권한이 없다.
즉 사용자를 docker그룹에 추가만 시켜주면 docker 데몬을 사용 할 수 있기 때문에 sudo를 사용하는 불안정한 방법이 아닌 docker그룹에 소속시켜 권한을 얻는 방법이 올바른 방법이다.
아래 docker 그룹에 소속시키는 방법이다.
sudo usermod -aG docker $USER
그룹에 소속시킨 후 Docker 데몬을 다시 실행시키면 sudo없이 사용이 가능하다.(로그아웃이나 기타 방법으로 재실행 시켜도 된다)