티스토리 뷰
반응형
예전부터 Docker와 Docker Compose를 설치하기 위한 포스팅을 올리려고 했지만 미루다가 Docker Compose로 ELK 구축 관련하는 포스팅을 작성하기 위해 Docker 설치 관련 내용을 작성하게 되었습니다.
Docker에 대한 설명은 제외하고 설치하는 방법들과 명령어 위주로 살펴보도록 하겠습니다.
물론 해당 내용은 Docker의 공식 문서를 참고하는게 가장 좋습니다.
1. Docker와 Docker Compose 설치
[ Docker 설치 ]
Docker를 설치하는 방법들이 여러 개 있지만 이번에는 간편한 설치 스크립트를 통해 Docker를 설치하도록 하겠습니다.
1. Docker 설치 스크립트 다운
curl -fsSL https://get.docker.com -o get-docker.sh
2. Docker 설치 스크립트 실행
sudo sh get-docker.sh
3. Non-Root User에 Docker 권한 부여
기본적으로 Docker를 관리하려면 관리자 권한이 필요합니다. 하지만 모든 Docker 명령어마다 sudo를 붙이는 것은 매우 번거로우므로 일반 사용자에게 sudo 명령 없이 Docker를 사용하는 작업을 추가적으로 하도록 하겠습니다.
# docker group 추가
sudo groupadd docker
# docker group에 현재의 사용자 추가
sudo usermod -aG docker $USER
4. Docker 테스트
docker container run hello-world
위의 명령을 실행하여 아래와 같은 출력이 나오면 Docker 설치가 완료된 것입니다.
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
[ Docker Compose 설치 ]
이번에는 여러 컨테이너들을 동시에 구축하도록 도와주는 Docker Compose를 설치해보도록 하겠습니다.
1. Docker Compose 설치
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. docker-compose에 실행 권한 부여
sudo chmod +x /usr/local/bin/docker-compose
3. Docker Compose 설치 확인
docker-compose --version
위의 명령을 실행하여 아래와 같은 출력이 나오면 Docker Compose 설치가 완료된 것입니다.
docker-compose version 1.29.2, build 5becea4c
2. Docker와 Docker Compose 명령어
[ Docker 명령어 ]
- 이미지 다운로드
- docker pull {이미지URL 또는 이름:버전}
- ex) docker pull ubuntu:18.04
- 이미지 확인
- docker images
- 컨테이너 확인
- 실행중인 컨테이너: docker ps
- 전체 컨테이너: docker ps -a
- 컨테이너 실행(Bash)
- 새롭게 컨테이너를 만들어 실행: docker run -it {이미지Id} /bin/bash
- 기존의 컨테이너를 실행: docker exec -it {컨테이너Id} /bin/bash
- ex) docker run -it --user root 220e50ed9a62 /bin/bash
- 이미지 및 컨테이너 삭제
- 이미지 삭제: docker rmi {이미지Id}
ex) docker rmi 220e50ed9a62 - 컨테이너 삭제: docker rm {컨테이너Id}
ex) docker rm 220e50ed9a62
- 이미지 삭제: docker rmi {이미지Id}
[ Docker Compose 명령어 ]
- Docker Compose 실행
- docker-compose build && docker-compose up -d
d: 백그라운드 실행 옵션
- docker-compose build && docker-compose up -d
- Docker Compose 종료 및 삭제
- 종료: docker-compose down
- 삭제(볼륨까지 제거): docker-compose down -v
반응형
'Server' 카테고리의 다른 글
[ELK] 엘라스틱 서치의 인덱스 라이프사이클 정책(Index Lifecycle Policy) 설정하기 (0) | 2022.01.27 |
---|---|
[ELK] Docker Compose로 ELK 모니터링 서버 구축 및 Filebeat로 로그 전송 (4) | 2021.11.19 |
[Server] 마이크로 서비스 아키텍처(MSA, MicroService Architecture)란? (0) | 2021.01.20 |
[Server] 하드웨어 가상화(Virtualization)의 종류 및 차이 (2/2) (1) | 2020.09.14 |
[Server] 가상화(Virtualization)란? (1/2) (8) | 2020.09.14 |
댓글