이전 글에 이어서 이번에는 cicd-project-docker EC2에 docker 를 설치해보자.
0. EC2 접속
cicd-project-docker EC2에 접속하자. 접속하는 사용자 이름은 ec2-user 로 한다.
1. EC2에 amazon linux 확장 패키지 설치하기
아래 명령어로 확장 패키지를 설치한다.
sudo amazon-linux-extras install epel -y
2. docker 설치하기
아래 명령어로 도커를 설치한다.
sudo yum install -y docker
도커 버전을 확인해보자.
docker --version
도커 클라이언트와 서버 버전 둘 다 확인해보자.
docker version
Client에 대한 정보는 나오지만 Server에 대한 정보는 나오지 않으며 docker daemon이 실행중이냐고 묻는다.
아래 명령어로 도커 서버를 시작하고 상태를 확인해보자.
sudo systemctl start docker
sudo systemctl status docker
이제 도커가 잘 실행되고 있음을 확인했다. 다시 명령어를 입력해서 Server 에 관한 정보도 나오는지 보자.
docker version
Got permission denied ~ 를 보니 권한 문제이다.
앞에 sudo를 붙여 다시 해보자.
sudo docker version
이제 Server 정보도 잘 보인다.
3. ec2-user 사용자에게 docker 권한 주기
도커 관련 명령어를 수행할 때 매번 sudo를 붙이는 것은 꽤나 번거로운 일이다. 따라서 현재 접속된 사용자를 docker-group에 포함시켜 sudo 명령어를 붙이지 않고도 docker 관련 명령어를 사용할 수 있게 해보자.
아래 명령어로 현재 사용자 이름을 알아낸다. 콘솔에 접속 시 0. 에서 사용자 이름을 ec2-user로 했기에 명령어를 입력하면 ec2-user가 나올 것이다.
whoami
ec2-user 라는 사용자를 docker-group에 포함시키는 명령어는 아래와 같다. 명령어를 입력한 이후 콘솔에 재접속해야 변경사항이 적용된다. 현재 탭을 닫고 다시 접속해보자. (**인스턴스 중지하고 재시작 하는 것 아님!!**)
sudo usermod -aG docker ec2-user
이제 sudo 명령어를 빼고 docker 관련 명령어를 입력해보자.
docker version
잘 되는 것을 확인할 수 있다.
4. 간단한 docker 프로젝트 실행
간단한 샘플 예제를 다운로드 받아 실행시켜보자. 아래 명령어를 입력한다.
docker run hello-world
아래와 같이 보인다면 docker가 정상적으로 설치되었고 실행중인 것을 알 수 있다!