.dockerignore란?,
- Image build할 때 추가하지 말아야 할 파일 및 폴더 지정.
- 만약 Dockerfile에서 COPY 명령어를 사용할 때 저장되는 일부 파일 등에 대해서 적용 가능.
Docker Compose란?,
- 다수의 컨테이너로 소프트웨어로 구성된 경우에 사용되는 툴 + 환경설정 파일.
- docker-compose.yml(or yaml)로 설정.
- docker compose {build, up, pull, ps, down, start, stop, rm}
- docker-compose.yml에는 크게 services, volumes, networks 라는 세 개의 섹션이 존재함.
- services : 앱을 구성하는 컨테이너들이 몇 개가 있어야 하는지 지정.
- volumes : 앞(서비스)에서 사용될 모든 docker volume 지정.
- networks : 서비스에서 사용될 모든 network 지정.
docker compose -f docker-compose.mac.yml up
처럼 -f 옵션으로 다른 이름의 yml 파일 사용 가능. 그 외엔 디폴트 파일 (docker-compose.yml)이 적용됨.
docker compose 명령어.
docker compose build
: .yml 파일에서 build로 지정된 서비스들을 빌드함.docker compose pull
: .yml 파일에서 image로 지정된 것들을 로컬 or docker hub에서 이미지들을 갖고 옴.docker compose images
: 컨테이너에 의해 실행되고 있는 이미지들만 보여 줌.docker compose push
: docker compose로 빌드 or pull했던 이미지들을 docker hub으로 푸시함.docker compose up
: build -> create -> start로 구성되어 실행됨.docker compose down
: 모든 컨테이너에 대해 stop -> rm으로 구성되어 실행됨.docker compose stop
: 모든 컨테이너를 중단.docker compose rm
: stop된 컨테이너 삭제.docker compose ls
: docker compose로 구성된 컨테이너들을 그룹핑하여 보여 줌.dcoker compose ps
: docker compose로 실행된 컨테이너들을 보여 줌.- 같은 docker compose로 구성된 컨테이너들은 자동으로 서로 간의 네트워킹이 적용됨.