VM처럼 가상화기술을 사용하여 독립된 환경에서 애플리케이션을 실행할 수 있는 컨테이너를 생성한다.
Docker file과 Docker Image를 활용해 컨테이너를 생성할 수 있다.
docker-compose을 사용하면 docker-compose.yaml 파일로 커맨드를 한번 실행하는것으로 파일에 정의한 설정들을 사용해 모든 컨테이너 서비스를 시작, 정지, 삭제 할 수 있다.
아니면 docker로 개별 실행해야 한다.
1. docker-compose.yaml 파일 다운
#Milvus
$wget https://github.com/milvus-io/milvus/releases/download/v2.4.13-hotfix/milvus-standalone-docker-compose.yml -O docker-compose.yml
#Airflow
$curl -LfO -k "https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml"
2. docker-compose.yaml 실행
$docker-compose up
$docker-compose up -d (백그라운드로 실행 옵션)
Docker Compose 명령어는 자동으로 docker-compose.yaml 파일을 찾아서 실행한다.
그래서 기본적으로 docker-compose.yaml 이름으로 사용하는데, 서비스별로 다른 이름을 사용하고 싶다면 밑의 명령어로 사용 가능하다.
$docker-compose -f milvus-docker-compose.yaml up -d
-f 옵션과 실행하려는 yaml파일명을 붙여서 실행해주면 된다.
$docker ps -a
$docker container ls -a
$docker ps
$docker container ls
$docker exec -it <컨테이너_ID 또는 컨테이너_이름> /bin/bash
$docker attach <컨테이너ID>
exec, attach 차이점
- exec: 실행 중인 컨테이너에 명령어를 전달(외부 -> 내부)
- attach: 실행 중인 컨테이너에 직접 들어가 명령어를 실행 (내부 접근)
$docker run <컨테이너ID>
$docker stop <컨테이너ID>
$docker rm <컨테이너ID>
$docker-compose up
$docker-compose up -d (백그라운드로 실행 옵션)
$docker-compose down
$docker-compose ps
$docker-compose stop
$docker-compose start
$docker-compose restart
up, start, restart 차이점
- up: 신규 생성 및 시작
- start: 중지상태인 서비스를 시작
- restart: 실행중인 서비스도 중지 후 재시작
[참고]
https://sunrise-min.tistory.com/entry/Docker-Container%EC%99%80-Image%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
https://velog.io/@jen133/Inception-docker%EC%99%80-docker-compose
https://velog.io/@agzg/docker%EB%8F%84%EC%BB%A4-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C