도커(Docker) 정리

kku64r·2022년 11월 22일
0

CI/CD

목록 보기
1/5

Docker

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

1. AWS EC2에 도커설치

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

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

sudo apt-get update
sudo apt install git
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

아래 명령어를 입력 한 후, 콘솔에 출력되는 결과값이 ‘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) 도커를 실행한다.

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 도커 그 외 명령어

  • pull (다운)
    • docker pull hello-world (헬로월드 이미지 다운)
  • docker images : 현재 도커 이미지 확인
  • docker run hello-world : 컨테이너로 만듦
  • docker ps -a : 어떤 컨테이너가 동작했는지 확인 (컨테이너 id확인)
  • docker rm (컨테이너id) : 컨테이너 삭제
  • DockerFile만들기 : image를 생성하기 위한 스크립트 파일

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기. 협업, 소통, 사용자중심

0개의 댓글