Environment & Database (2) - Docker
2021. 5. 16. 17:34ㆍ[AI]/Data Engineering
New Stuff
Key Points
- Docker
- Docker Commands
- Docker Compose
Learned Stuff
[Docker]
- 어플리케이션 환경에 구애받지 않고 소프트웨어 컨테이너 안에 배치시켜 작업 및 배포하는 플랫폼
사용 이유
- 환경 표준화
- 리소스 격리성
Docker Commands
- Docker 프로그램을 실행한 상태에서 코드 작성할 것
Docker Image
- Code 작성 시 "{}"는 없애기
# 레지스토리에서 이미지 or 레지스토리 가져오기
$ docker image pull {이미지 이름} : {TAG}
# 이미지 리스트 출력
$ docker image ls
# 특정 이미지 삭제
$ docker image rm {이미지 이름}
# 이미지 전체 삭제
docker rmi $(docker images -a -q)
Docker Container & Docker Container Run
# 받아온 이미지를 컨테이너로 실행
$ docker container run [OPTIONS] {이미지 이름} [COMMAND] [ARG]
# 컨테이너 리스트 출력
$ docker container ps -a
# 특정 컨테이너 삭제
$ docker container rm {컨테이너 이름 or 컨테이너 ID}
# 컨테이너 전체 삭제
# stop된 container 만 삭제 가능
$ docker rm $(docker ps -a -q)
# 특정 컨테이너 stop 시키기
$ docker container stop {컨테이너 이름}
# 컨테이너 전체 stop 시키기
$ docker stop $(docker ps -a -q)
- [OPTIONS] 및 [COMMAND] 는 아래 링크 참고
https://docs.docker.com/engine/reference/run/
Docker Compose
- 'YAML' 혹은 'YML' 파일로 Requirements 을 작성해 한번에 많은 컨테이너를 실행시키고 관리하는 방법
.YAML / .YML 파일 작성 예시
version: "3.7" # docker compose version
services:
{Database 이름}:
image: {이미지 이름:TAG}
container_name: {컨테이너 이름}
environment:
- # 환경 변수 지정
volumes:
- {/host/path}:{/container/path}
{container 이름 임의 지정}:
image: {이미지 이름:TAG}
container_name: {컨테이너 이름}
ports:
- "5050:80" # host 주소가 5050 일 때, container의 80 포트로 연결하겠다는 의미
environment:
- # 환경 변수 지정
depends_on:
- {Database 이름} # database 관련 container 가 실행되면 해당 container를 실행하겠다는 의미
volumes:
- {/host/path}:{/container/path}
Docker Compose Commands
# 모든 서비스 컨테이너 실행
$ docker-compose up
# 모든 서비스 컨테이너 정지 & 삭제
$ docker-compose down
# 모든 서비스 컨테이너 목록 보기
$ docker-compose ps
728x90
'[AI] > Data Engineering' 카테고리의 다른 글
[Data Engineering] - Mindmap (1) | 2021.05.16 |
---|---|
Environment & Database (1) - Virtual Environment & Git / Github (1) | 2021.05.16 |
Environment & Database (3) - Relational Database (0) | 2021.05.16 |
Environment & Database (4) - SQL Property & Syntax (0) | 2021.05.16 |
Environment & Database (5) - Further SQL & NoSQL Database (0) | 2021.05.16 |