Docker는 컨테이너화 된 애플리케이션을 빌드, 배포 및 실행을 하기 위한 오픈소스 플랫폼으로 애플리케이션을 격리된 환경에서 실행하고 호스트 운영체제와는 독립적으로 실행할 수 있습니다.
도커의 이미지와 컨테이너
도커는 이미지와 컨테이너라는 두가지 주요 개념을 가지고 있습니다.
이미지 : 도커 이미지는 애플릭케이션이션, 라이브러리, 의존성 및 운영체제의 모든 구성요소를 포함하는 변하지 않는 파일입니다. 도커 이미지는 Dockerfile이라는 파일에 정의되고 이미지를 빌드하기 위한 명령어가 포함되어 있습니다.
- 이미지는 어플리케이션을 빌드하고 배포하는 데 사용
컨테이너 : 컨테이너는 도커 이미지의 실행가능한 인스턴스입니다. 도커컨테이너는 격리된 환경에서 실행되기 때문에 호스트 운영체제와 독립적입니다. 도커 컨테이너는 이미지에서 생성되고 컨테이너가 실행되면 컨테이너에 정의된 애플리케이션이 실행됩니다.
- 컨테이너는 이미지의 구조를 더 쉽게 관리하고 배포하도록 도와줌
이미지 pull
도커를 실용적으로 사용하기 위해 명령 프롬프트를 통해서 진행합니다.
이미지의 목록을 보는 방법은 아래와 같습니다. 현재는 다운받은 이미지가 없기 때문에 아무것도 뜨지 않습니다.
docker imanges
이후 다운 받고싶은 이미지를 다운로드하여줍니다. 저는 httpd라는 이미지를 다운로드하였습니다.
docker pull httpd
제대로 다운 받아졌다면 위와 같은 결과가 나올 것입니다.
이후 확인을 위해 다시 한번 docker images를 통해서 확인해 봅니다.
처음과는 달리 httpd가 최신버전으로 다운받아져 출력되는 것을 볼 수 있습니다.
이미지 실행 및 컨테이너 실행 - Run
컨테이너 최초 실행
docker run ws1 httpd
ws1이라는 이름의 컨테이너를 만들고 실행한다.
컨테이너 종료
docker stop ws1
컨테이너 목록 확인
이후 컨테이너의 목록은 아래와 같이 확인할 수 있다
docker ps
docker ps -a
docker ps는 현재 실행 중인 컨테이너를 확인하고 docker ps -a는 모든 컨테이너 정보를 확인할 수 있다.
컨테이너 실행
컨테이너를 최초로 실행한 후 종료하고 다시 실행시키기 위해서는 기존의 run과는 다르게 start명령어를 사용해서 실행해줘야 한다.
docker start ws1
그럼 위와 같이 ws1이 실행이 되는 것을 볼 수 있는데 최초의 실행과는 다르게 log가 출력되지 않는다.
로그 확인
아래의 명령어를 통해서 로그를 볼 수 있다.
docker logs ws1
하지만 이 명령어의 경우는 한 번만 출력되고 지속적으로 출력이 되지 않는다.
지속적으로 출력해 주기 위해서는 -f 옵션을 주면 되는데 아래와 같이 작성해 주면 된다.
docker logs -f ws1
docker 컨테이너 삭제
docker rm ws1
위 명령어를 통해서 컨테이너를 삭제할 수 있다. 하지만 실행 중인 컨테이너의 경우는 삭제가 되지 않음으로 stop 명령어를 통해서 실행을 멈추거나 아래와 같은 명령어로 삭제할 수 있다.
docker rm --force ws1
이미지 삭제
docker rmi httpd
위 명령어로 이미지를 삭제할 수 있다.
'Django > 인프라' 카테고리의 다른 글
[AWS Lightsail] 리눅스 가상머신 생성 (0) | 2024.08.06 |
---|---|
가상머신 VS 컨테이너 (0) | 2023.12.18 |
docker - getting disk info ... permission denied 에러 (0) | 2023.05.04 |
Docker image와 container 만들기 (0) | 2023.05.02 |
Docker - 네트워크 연결과 명령어, index.html 수정 (0) | 2023.04.18 |