Docker Image
이미지는 컨테이너 실행해 필요한 파일과 설정값등을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않는다(Immutable). 컨테이너는 이미지를 실행한 상태라고 볼 수 있고 추가되가나 변하는 값은 컨테이너에 저장된다.
같은 이미지에서 여러개의 컨테이너를 생성할 수 있고 컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도
이미지는 변하지 않고 그대로 남아있다.
Docker Container
대부분의 소프트웨어는 그 실행을 위하여 OS와 소프트웨어가 사용하는 동적 Library에 대해 의존성을 갖는다.
즉 소프트웨어의 실행을 위해서는 OS와 Library를 포함, 소프트웨어가 필요로 하는 파일 등으로 구성된 실행환경이 필요한데, 하나의 시스템 위에서 둘 이상의 소프트웨어를 동시에 실행하려고 한다면 문제가 발생할 수 있다.
이러한 상황에서 가장 간단한 해결책은 두 소프트웨어를 위한 각각의 시스템을 준비하는 것인데,
시스템을 각각 준비할 경우 비용의 문제가 발생하게 된다.
이러한 문제점을 해결한 것이 바로 컨테이너(Container)이다.
컨테이너는 개별 소프트웨어의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반 환경
또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술을 말한다.
컨테이너는 애플리케이션을 실제 구동 환경으로부터 추상화할 수 있는 논리 패키징 메커니즘을 제공한다.
기본 명령어 사용 해보기
도커 이미지 pull
도커 이미지를 pull받기 위해서는 Docker Hub에서 받을 수 있다.
이 글에서는 Apache HTTP Server인 httpd를 pull 받아 보려 한다.
Docker Hub : https://hub.docker.com/search?q=&type=image
Docker Hub
hub.docker.com
도커 이미지 리스트 확인
docker images
pull 받은 이미지가 없기 때문에 List가 비어있다.
도커 이미지 pull
docker pull httpd
docker images
이미지가 정상적으로 pull된 것을 확인할 수 있다.
도커 컨테이너 run
이미지를 실행시켜 컨테이너를 만드는 방법이다.
pull받은 httpd를 실행
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run httpd
만든 컨테이너를 확인해보기 위해 cmd를 하나 더 열어 아래 명령어로 확인해보면
컨테이너가 잘 생성된 것을 확인할 수 있다.
docker ps
하나의 이미지에서 여러개의 Container를 실행 시켜보려고 한다.
ws1이라는 이름의 컨테이너를 실행
docker run --name ws1 httpd
컨테이너 목록 확인
docker ps
ws1이라는 이름의 컨테이너가 실행중인 것을 확인할 수 있다.
실행중인 컨테이너 종료
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker stop ws1
종료된 컨테이너 실행
docker start ws1
컨테이너 로그 실시간 확인
docker logs -f ws1
컨테이너 삭제
docker rm ws1
이미지 삭제
docker rmi httpd
'DevOps > Docker' 카테고리의 다른 글
[Docker] 도커 명령어 사용해보기 (0) | 2021.12.12 |
---|---|
[Docker] 도커 네트워크 (0) | 2021.08.22 |
[Docker] 도커 입문 (0) | 2021.08.19 |
댓글