이번에는 리눅스 시스템을 사용하는 가장 큰 이유중 하나인 Docker설치를 진행해보도록 하겠습니다.
WSL2를 사용하실정도의 사용자라면 Docker가 어떤 서비스인지는 다 아실거라고 생각하고 넘어가도록 하겠습니다.
Docker 설치하기
이전과 동일하게 필수 패키지먼저 설치하도록 하겠습니다.
필수 패키지 설치
apt-get update && apt upgrade
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
GPG Key 인증
문제없이 설치가 다되었으면 Docker의 GPG Key 인증을 하도록 하겠습니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
finger print도 확인해봅시다.
sudo apt-key fingerprint 0EBFCD88
docker repository 등록
이제 아키텍쳐에 맞춰서 Docker repository를 등록해주도록 하겠습니다.
혹시 아키텍쳐 확인을 원하시면 arch 명령어를 입력해주시며 됩니다.
저희환경의 경우 x86_64 입니다.
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
위 명령어를 쳤을때 아래처럼 나와야 정상입니다.
apt docker 설치
레포 등록이 완료되었으니 이제 apt 명령어로 설치만 해주면 됩니다.
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
설치가 완료되면 docker -v
명령어로 확인해봅니다.
이제 시스템 부팅시 docker가 시작되도록 설정하고 실행도 시켜보겠습니다.
sudo systemctl enable docker && service docker start
portainer 구축하기
사실 portainer의 경우 이전 포스팅에서도 많은 설치를 했기때문에.. 또해야 되나 싶지만 환경이 다르니 또 하겠습니다.
portainer는 docker의 이미지,컨테이너,네트워크등을 쉽게 관리할 수 있게 도와주는 GUI Web 서비스 입니다.
docker의 이미지라는 개념이 생소할 수도있는데 윈도우 설치에 필요한 iso라고 보시면 될거같습니다.
iso로 윈도우를 설치하듯이 이미지로 docker의 컨테이너를 생성하게됩니다. 이 이미지(iso 같은)는 hub.docker.com에서 검색해보면 엄청나게 방대한양의 데이터베이스가 있습니다.
이번에 설치할 portainer도 찾아본다면 아래처럼 나오게 됩니다. 이외에 cent os, nginx, mariadb 등등 docker의 이미지는 엄청많으니 궁금하면 들어가서 찾아보시면 됩니다.
사용법도 들어가면 자세하게 나와있으나.. 양이 방대해서 따로 설명하지않겠습니다.
portainer 컨테이너 설치에 앞서 컨테이너와 host(vm)간에 볼륨매칭을 위한 디렉터리 생성부터 진행하겠습니다.mkdir -p /data/portainer
그리고 docker run 명령어로 실행시켜주도록 하겠습니다.
docker run --name portainer -p 9000:9000 -d --restart always -v /data/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
길어보이지만 하나씩 설명해보면 –-name 으로 컨테이너 이름 생성, -p 호스트 포트 9000 내부포트 9000번 , -d 데몬으로 백그라운드, –restart always 재부팅시 자동시작, -v /data~~ 호스트와 컨테이너간 볼륨매칭, docker.sock도 마찬가지로 공유, portainer/portainer 이미지 사용순 입니다.
잘 구동되었는지 netstat -lntp
명령어로 확인해봅시다.
이제 WSL2 IP:9000으로 접속해보겠습니다.
저같은경우 172.21.188.80:9000이 되겠네요
잘 되는걸 확인할 수 있습니다.