Docker
2023. 7. 1. 16:26ㆍ프로그래밍/ETC
- 목차
예를 들어 Redis 를 다운받을 경우
공식 문서의 명령어를 그대로 실행하면 에러가 발생함
wget 이 없기 때문에 먼저 wget 을 다운로드 받은 후에 redis 를 받아야 함
wget http://download.redis.io/releases/redis-6.0.4.tar.gz
tar xzf redis-6.0.4.tar.gz
cd redis-6.0.4
make
이렇게 특정 프로그램을 다운로드 할 때 부수적인 것들도 함께 다운로드 받아야 하기 때문에
설치 과정이 복잡해지고 에러 발생 가능성이 높아짐
docker run -it redis
도커를 이용해 Redis 를 다운받는 경우
설치 과정이 간단해지고 예상치 못한 에러를 방지할 수 있음
Docker
- 컨테이너를 사용하여 응용 프로그램을 더 쉽게 제작/배포/실행할 수 있도록 설계된 도구
- 컨테이너 기반의 오픈소스 가상화 플랫폼이자 생태계
컨테이너 안에 다양한 프로그램, 실행 환경을 추상화하고 동일한 인터페이스를 제공하여
프로그램의 이동/배포/관리를 단순하게 해줌
AWS, Azure, Google Cloud 등에서 모두 실행 가능
Docker 설치
Windows
- 홈페이지에서 다운로드 (https://www.docker.com/get-started/)
- 설치 파일 실행 후 설치 진행
- 설치 완료 후 재시작
Mac
- 홈페이지에서 다운로드 (https://www.docker.com/get-started/)
- 설치 파일 실행 후 설치 진행
- docker desktop 실행
- 설치 버전 확인
docker version
도커 사용 방법
도커 CLI 에 커맨드를 입력하면
도커 서버가 (도커 데몬) 커맨드에 따른 작업을 함
(이미지 생성, 컨테이너 실행 등)
docker run hello-world
- 도커 클라이언트에서 커맨드를 입력하여도커 서버로 요청을 보냄
- 서버에서 hello-world 라는 이미지가 이미 로컬에 캐시되어 있는지 확인함
- 현재 캐시되어 있지 않기 때문에 Unable to find image 텍스트 출력
- Docker Hub 에서 이미지를 가져오고 로컬 캐시에 저장함
- 이미지를 이용해 컨테이너 생성
- 이미지로 생성된 컨테이너는 설정이나 조건에 따라 프로그램을 실행함
Docker 이미지
응용 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있음
- 컨테이너 시작 시 실행할 명령어
- 파일 스냅샷: 디렉토리나 파일을 카피한 것
이미지로 컨테이너 만드는 순서
- 도커 클라이언트에 docker run [이미지] 입력
- 도커 이미지에 있는 파일 스냅샷을 컨테이너의 하드 디스크에 옮김
- 도커 클라이언트에 입력한 컨테이너 실행 명령어를 컨테이너에 옮김
- 이미지에서 가지고 있는 명령어를 이용해 응용 프로그램 실행
컨테이너에 들어있는 네트워크. RAM, CPU 는
컨테이너 하드디스크에 있는 응용 프로그램을 작동 시키는 데 필요한 양만큼 배분 가능