도커(Docker) 정리

김진회·2022년 11월 22일
0

CI/CD

목록 보기
1/7

Docker

  • 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼
  • SW를 컨테이너라는 표준화된 유닛으로 패키징
    • 컨테이너에는 라이브러리, 코드 등 SW를 실행하는 데 필요한 모든 것이 포함되어 있음
  • 장점
    • 환경에 제약받지 않음
    • 신속한 배포 및 확장
    • 코드가 문제없이 실행될 것임을 확신할 수 있음
  • Docker Image
    • 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것
    • Image를 컨테이너에 담고 실행을 시킨다면 해당 프로세스가 동작
  • DockerFile
    • 도커 이미지를 생성하기 위해 작성된 파일

1. AWS EC2에 도커설치

  • 프로젝트를 도커를 통한 컨테이너화 할 예정이기 때문에 EC2에는 도커와 도커 컴포즈 이외에 설치할 것은 없다. 다음과 같은 과정을 통해 도커를 설치한다.

1) 먼저 설치에 필요한 사전 업데이트 및 설치를 진행한다.

  • 업데이트
  • git 설치
  • apt 가 https 저장소를 사용할 수 있도록 설치
sudo apt-get update
sudo apt install git
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

도커 저장소 키를 apt에 등록한다.
입력 후, 콘솔에 출력되는 결과값이 ‘OK’ 면 성공

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

도커 저장소 등록한다.
arch=아키텍쳐 에는 자신의 환경에 맞는 아키텍쳐를 적어줘야한다.

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

2) 도커 설치를 진행한다.

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io

3) 성공적으로 설치되었는지 확인한다.

docker -v

4) 재부팅 시, 도커 자동 실행 & 도커를 실행한다.

  • systemctl: 시스템 부팅 시 시작되는 서비스를 관리하는 데 사용
sudo systemctl enable docker && sudo service docker start

1-1 도커 On Off 명령어

  • 도커 종료
sudo systemctl stop docker.socket
  • 도커 실행
sudo systemctl start docker.socket
sudo systemctl enable docker && sudo service docker start
  • 도커 상태 확인
service docker status

1-2 도커 그 외 명령어

docker images // 현재 도커 이미지 확인
docker ps -a // 모든 컨테이너 목록 확인 (-a: all)
docker rm 이름 // 컨테이너 삭제. 이름 대신 컨테이너id를 써도 됨
docker rmi 이름 // 도커 이미지 삭제
docker logs 이름 // 해당 컨테이너 로그 확인
  👉 ex) docker logs --tail 10 -f 이름 // --tail 10 : 최신 로그 10줄 확인. -f : 실시간 확인
docker exec -it MYSQL이름 sh // MySQL 컨테이너 접속
  👉 이후, mysql -u root p // MYSQL bash에서 계정 정보 입력하고 사용. -i: 상호 입출력. -t: tty를 활성화해서 bash 셸을 사용하도록 활성화.
docker exec -it REDIS이름 redis-cli // redis 컨테이너 접속

2. Docker-Compose 설치

  • 도커 컴포즈는 여러개의 컨테이너의 실행과 관리를 할 수 있게 해준다.

1) 도커 컴포즈 설치

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2) backup 파일에 실행할 수 있는 권한 주기 (+x는 executable 뜻)

sudo chmod +x /usr/local/bin/docker-compose

3) 도커 컴포즈 설치 확인

docker-compose -v

오류해결

1) Got permission denied while trying to connect to the Docker...

  • 사용자가 root:docker 권한이 있어야 함. root에서 실행하는 것은 권장되지 않으므로 해당 사용자에 docker 권한을 주고 재실행을
sudo usermod -a -G docker $USER
sudo reboot

참고

profile
SSAFY 7기. HMG. 협업, 소통, 사용자중심

0개의 댓글