도커 이미지
도커 컨테이너를 생성할 때 도커 이미지로 컨테이너를 만든다.
가상 머신을 생성할 때 사용하는 ios와 비슷한 개념이다.
이미지는 여러개의 계층으로 된 바이너리 파일로 존재하며, 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용된다.
이미지는 도커허브 라는 곳에서 내려받을 수 있고 별도로 설치할 필요는 없다.
ex)
docker run -i -t ubuntu:14.04
ubuntu:14.04라는 이미지로 ubuntu 컨테이너를 생성한 예제이다.
이미지 형식
[저장소이름]/[이미지이름]:[태그]
저장 소이름(Repository) - 이미지가 저장된 장소
ex) adibong/ubuntu:14.04 = adibong
ubuntu:14.04 = 저장소 이름이 없으면 도커 허브의 공식 이미지이다.
이미지 이름 - 이미지가 어떤 역할을 하는지 나타냄
태그 - 이미지 버전 관리, 태그를 생략하면 도커 엔진은 이미지의 태그를 latest로 인식함
ex) ubuntu:latest
이미지 검색
docker images
도커 컨테이너
도커이미지는 많은 종류가 있다. (우분투, centos, 아파치 웹서버, mysql 등의 각종 애플리케이션, 하둡, 스파크, 스톰 등) 빅데이터 분석 도구까지 종류가 있다.
이런 이미지로 컨테이너를 생성하면 해당이미지의 각각의 목적에 맞는 파일이 들어있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성된다.
컨테이너는 생성될 때 사용된 도커 이미지의 종류에 따라 설정과 파일을 가지고 있기 때문에 도커 이미지에 맞도록 사용하는 게 일반적이라고 한다.
웹서버 이미지로 컨테이너를 생성하면 웹서버역할을, 오라클 이미지로 컨테이너를 생성하면 db역할을 한다고 보면 될 것 같다.
컨테이너는 이미지를 읽기 전용으로 사용해서 이미지에서 변경된 내용만 컨테이너 계층에 저장해서, 컨테이너가 무엇을 하든지 원래 이미지는 영향을 받지 않는다.
tip) 컨테이너를 종료하면 컨테이너에서 사용했던 내용은 모두 사라진다.
이를 보완하기 위해서 컨테이너 실행시 docker volume를 사용해서 컨테이너에서 사용했던 내용들을 다른 경로에 저장되게 해서 사용한다.
우분투 도커 이미지로 두개의 컨테이너를 생성하고 A컨테이너에 mysql을, B컨테이너에 아파치 웹 서버를 설치해도 각 컨테이너는 서로 영향을 주지 않을뿐더러 호스트에도 영향이 없다고 한다.
컨테이너 목록 확인
docker ps
컨테이너 목록 확인 (정지된 컨테이너 포함한 모든 컨테이너)
docker ps -a
'dev > docker' 카테고리의 다른 글
docker 사용해서 mariadb 설치하고 접속하기 (1) | 2024.02.15 |
---|---|
[docker] 맥북에서 docker-sync 사용하기.. (0) | 2021.02.17 |
[docker] mac docker 이미지 삭제 (0) | 2021.02.05 |
[docker] 이미지 백업 (0) | 2021.02.05 |
[docker] 맥북 docker oracle, dbeaver(디비버) 설치 (0) | 2021.01.28 |