리눅스 컨테이너를 관리하는 컨테이너 런타임(엔진) 중 하나로 컨테이너 생성, 관리하는 tool이다.
운영체제를 가상화하지 않는 컨테이너 기술인 만큼 가상머신에 비해 가벼우며, VM을 포함하여 한 대의 서버에 여러 개의 서비스를 구동하기 좋다.
격리된 구조로써 서비스가 해킹당하더라도 원래 서버에 영향을 미치기 힘들다.
어플리케이션 실행에 있어 필요한 파일의 집합을 이미지라하며, 컨테이너는 이미지를 실행한 상태이다.
일반사용자는 도커 명령어를 실행할 수 없기 때문에 root 계정, sudo, docker 그룹의 구성원만 명령어를 실행할 수 있다.
도커 공식 홈페이지 참고
https://docs.docker.com/engine/install/centos/
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl enable --now docker
이미지가 없을 시 다운로드 진행
docker image run
*이미지 태그 생략시 latest로 지정됨
특정 버전 설치할 시 docker image pull centos:7 과 같이 : 뒤 버전 작성해야됨
docker image pull
docker image rm
docker image inspect
docker image ls
docker container create
create 옵션
-it : 입출력이 필요한 경우 (shell 실행할 때)
-rm : 컨테이너 종료 시 자동 삭제
-name : 컨테이너 이름 지정(설정안할 시 자동으로 이름 생성)
docker container start
start 옵션
-ai : 입출력이 필요한 경우 사용 (create에서 -it 옵션 필수)
docker container run
run 옵션
-it : 입출력이 필요한 경우 사용 (자동연결)
-d : 연결이 불필요한 경우 (백그라운드 실행)
docker container ls
docker ps
-a : 모든 컨테이너 확인할 경우 사용