티스토리 뷰

728x90

리눅스에 도커를 설치를 하고 예제를 실습을 해보자.

이전 시간에 윈도우, 맥에서 도커 설치를 알아 봤고 구글 클라우드를 이용하여 리눅스 인스턴스까지 생성을 했다.

참고 2020/04/18 - [SW] - [클라우드] GCP(Google Cloud Platform) 에서 리눅스 생성 하기

 

[클라우드] GCP(Google Cloud Platform) 에서 리눅스 생성 하기

여러 클라우드가 많이 있지만 클라우드 사용 시 유의할 점이 데이터 지연을 최소화하고 빠른 접속과 원활한 데이터 전송을 위해 서비스를 하는 지역에 가까운 리전(Regions, 데이터 센터 묶음)을 선택 하는게 좋..

wings2pc.tistory.com

그럼 우리가 만든 GCP에서 생성된 리눅스에 도커를 설치를 해보자.

브라우저로 연결된 쉘에서 아래 명령어를 입력 한다.

GCP 에서 생성된 리눅스 버전은 Debian 9 버전이다. 아래 도커 문서를 참고해서 설치 하자.

 

https://docs.docker.com/engine/install/debian/

 

Install Docker Engine on Debian

To get started with Docker Engine on Debian, make sure you meet the prerequisites, then install Docker. Prerequisites OS requirements To install Docker Engine, you need the 64-bit version of...

docs.docker.com

먼저 도커를 사용 할 때 의존된 라이브러리 설치를 한다. 필요한 라이브러리를 패키지 매니저를 사용해서 설치

sudo apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common

설치가 완료 되었으면 도커를 다운 받자.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add 

데비안 패키지 매니저(apt)에  도커를 설치 할 수 있게  저장소(repository)를 추가를 한다.

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

apt 소스 업데이트를 해준다(패키지 매니저 업데이트)

sudo apt update -y

소스리스트가 업데이트가 완료 되면 apt install 명령으로 도커를 설치 한다.

최신 버전 보다는 안정 버전인 18.06 을 설치 한다.

sudo apt install -y docker-ce=18.06.3~ce~3-0~debian

도커가 잘 설치되었다는 것을 체크 해보기 위해서 콘솔 창에 도커 라고 실행해보면 먼가 장황한 결과가 출력된다.

docker 명령어를 입력 해보자.

 

설치를 된것을 확인 하고 마지막으로 해야 할 일은 docker 명령어들을 sudo 없이 일반 사용자들도 사용하기 위해 리눅스에서는 root 권한이 필요하다. 지금 사용 하고 있는 계정에 sudo 없이 docker 사용 할 수 있게 docker 그룹에 추가하여 권한을 부여 한다.

sudo usermod -aG docker $USER

$USER 변수는 현재 사용자에게 권한을 준다라는 의미이다.

특정 사용자에게 권한을 부여 하려면 $USER 대신에 사용자 아이디를 넣어 주면 된다.

많이 하는 실수가 권한을 주고 바로 docker 명령어를 이용해 도커 이미지를 다운 받고 도커 명령어를 사용 하게 되면 퍼미션 문제가 여전히 발생 되는 경우가 생긴다. (확인을 해보려면 docker ps 명령어를 입력 해본다.)

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/json: dial unix /var/run/docker.sock: connect: permission denied

위 문제를 해결 하기 위해 현재 사용자 계정을 로그 아웃 하고 재 로그인을 해야지만 sudo 없이 도커를 정상적으로 사용할 수 있다. 로그아웃은 exit 를 입력 하거나 Ctrl + D 키를 누르면 쉘에서 빠져 나온다.(브라우저에서 접속 했다면 브라우저가 닫긴다.) 다시 VM 인스턴스에서 SSH를 눌러 접속을 하자.

docker ps

위 명령어를 입력을 하면 퍼미션 에러는 이제 안나오는 것을 확인 할 수 있다.

 

이제 개발환경을 도커로 구성해 보도록 하자.

개발 환경은 mysql, spring boot 로 구성되고각각의 레이어를 컨테이너를 사용하여 실행 할 것이다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함