snap package VS docker package to install docker
문제점
git clone으로 오픈소스 레포를 가져왔는데, docker를 설치 해야 실행이 되는 환경이여서 Linux환경에서 구글링을 통해서 docker를 설치했다.
설치 후 script를 설치하려고 시도를 했는데, 설치는 성공적으로 됐지만 원하는 파일들이 보이지 않는 상태였습니다.
멘토님과 함께 설치했던 부분을 확인하는데,
Detected Docker installation: Snap package (20.10.24)를 확인 하였고
멘토님의 말씀이 Snap package로 설치를 하면 파일들이 안보일 수 있다고 말씀하셨고
그래서 snap package로 설치한 docker를 제거하고 ubuntu 환경에서 재설치를 시도하였더니, 원하던 파일을 볼 수 있었습니다.
# remove snap package docker
sudo snap remove docker
# docker removed라는 문구가 확인이 되면 성공
이후 docker docs에 있는 방식으로 천천히 다시 진행하였습니다.
그러나 snap package와 docker package의 차이가 뭔지 궁금해졌습니다. 정확하지는 않지만 그래도 검색했던 것을 기록하려고 합니다.
설치, 업데이트 부분
Snap 패키지: Snap 패키지 매니저를 사용하여 Docker를 설치하고 업데이트할 수 있습니다. Snap 패키지 매니저는 패키지 버전 관리와 자동 업데이트 기능을 제공합니다.
Docker 패키지: Docker의 공식 배포판을 사용하여 설치하고 업데이트합니다. Docker는 별도의 패키지 관리자를 통해 설치되며, 해당 패키지 관리자를 사용하여 Docker를 업데이트해야 합니다.
- 여기서 snap 패키지 매니저가 docker에 필요한 의존성 도구들을 모두 설치해주고 관리해준다고 보면 된다.
- Docker의 공식 배포판을 사용하면 의존성있는 부분들을 별도로 설치해야 된다고 생각하면 될거 같다.
파일 시스템 권한
Snap 패키지: Snap 패키지는 컨테이너 실행을 위해 필요한 파일 시스템 권한을 자동으로 구성합니다. 일부 Snap 패키지로 실행되는 컨테이너는 기본적으로 파일 시스템을 읽기 전용으로 제한하는 등의 추가 보안 기능을 가질 수 있습니다.
Docker 패키지: Docker 패키지는 기존 Docker 설치 방식을 따릅니다. 파일 시스템 권한 설정은 직접 구성해야 하며, 일반적으로 더 많은 유연성을 제공합니다.
- Snap 패키지로 설치하고 실행하면 크게 문제가 없고 권한도 sudo chmod 666 /var/run/docker.sock를 입력하면 docker ps로 실행중인 환경을 바로 확인 할 수 있다.
- Docker 패키지로 설치한 Docker는 sudo를 활용해야 하지만, Unix Group에 docker를 지정하면, 실행 권한을 부여할 수 있다.
참고 링크
버전 및 지원
Snap 패키지: Snap 패키지는 특정 버전의 Docker를 제공합니다. Snap 패키지 관리자를 통해 사용 가능한 패키지 버전을 확인하고 업데이트할 수 있습니다. 또한, Snap 패키지는 특정 Linux 배포판과 호환성이 높은 장점을 가지고 있습니다.
Docker 패키지: Docker 패키지는 Docker의 공식 배포판으로 제공됩니다. 이를 통해 Docker 엔진의 최신 버전과 추가 기능을 빠르게 사용할 수 있습니다. Docker 패키지는 다양한 Linux 배포판을 지원합니다.
- Snap 패키지를 이용한 명령어 sudo snap install docker 입력하면, 내가 버전을 지정하지 않았는데, 20.10.24 버전이 설치된다.
docker 20.10.24 from Canonical✓ installed - 설치 후 메시지
- Docker 패키지로 설치시 Stable 상태의 최신 버전을 설치 할 수 있는 명령어를 지원한다.
요약하면, docker는 2가지 방법으로 설치가 가능하나, Snap 패키지로 설치시 여러가지 소프트웨어들이 같이 설치가 돼서 편하다.
Docker 패키지로 설치하면, 내가 직접 관리하고 설치를 해야 한다.
그러나 어떤 방식이 더 좋다고 말하기는 어려울 것 같다. 나처럼 원하는 파일이나 패키지가 설치가 되지 않는다면 그에 맞는 환경을 설정해서 설치를 해야 하기때문에, 자신에게 맞는 패키지로 설치하는게 좋을 것이라고 생각한다.
Ref.
SNAP: 의존성 극복
● 의존성의 문제 처음 리눅스 환경을 사용하여 개발을 하거나 특정 소프트웨어를 실행시키려 할 때 여러 ...
blog.naver.com
Install Docker Engine on Ubuntu
docs.docker.com
- 어떤 문제를 해결하기 위해 검색하고 블로그에 작성한 글입니다. 부족한점이 많지만 틀린점이나 부족한점이 있다면 말씀해주시면 감사하겠습니다.