sudo chmod +x /usr/lib/docker/cli-plugins/docker-compose >> 다운받은 docker-compose 파일에 실행 권한을 부여
sudo docker compose version >> docker-compose가 정상적으로 설치되었는지 확인
docker-compose로 컨테이너 생성하기
docker 컨테이너 삭제하기
sudo docker ps -a >> docker에 존재하는 컨테이너 목록 확인
sudo docker rm -f {container_id} >> 컨테이너의 실행중 여부와 관계 없이 강제로 삭제
docker-compose.yml 작성해보기
version: '3.8' # docker-compose.yml에 사용될 문법 버전을 정의합니다.
services:
example: # 서비스 이름을 지정합니다. 서비스 이름은 컨테이너끼리 통신할 때 사용됩니다.
container_name: example # 컨테이너 이름을 지정합니다.
image: 'httpd:latest' # 컨테이너를 생성할 때 사용될 이미지를 지정합니다.
restart: always # 컨테이너가 종료됐을 때 다시 실행시켜 줍니다.
컨테이너 실행시켜보기
sudo docker compose up -d
컨테이너 중지시키기
sudo docker compose stop : 중지 (ps -a 명령어로 보임)
sudo docker compose down : 컨테이너 삭제 (ps -a 명령어로 안 보임)
sudo docker compose up -d : 컨테이너 재생성(ID가 변함)
컨테이너 포트 포워딩 설정하기
포트 포워딩(port forwarding)이란?
http : 80
https : 443
postgresql : 5432
django : 8000
ssh : 22
외부에서 서버의 특정 포트에 접근했을 때 지정한 서비스로 전달해 주는 것을 의미
예를 들어 특정 컨테이너의 포트포워딩 설정을 80:8000과 같이 해줬다면, 외부에서 80 포트로 접속했을 때 해당 컨테이너의 8000번 포트로 접속하겠다는 의미
컨테이너 실행시켜보기
sudo docker compose up -d
컨테이너 로그 확인하기
sudo docker compose logs
sudo docker compose logs -f : 실시간 확인 (ctrl + c : 탈출)