Portainer
- 도커 및 쿠버네티스를 관리하기위한 GUI 이미지이다.
- Docker 컨테이너 관리부터 컨테이너 내부에 들어가서 명령어, 컨테이너 로그들을 쉽게 확인할 수 있기 때문에
사용하기 매우 편리
- Portainer 의 경우 도커 관리툴 중에서 오픈소스이고 가장 많이 사용되는 툴
1. Potainer 설치하기
# docker volume create portainer_data
# docker run --name potainer -d -p 9000:9000 \
> -v /var/run/docker.sock:/var/run/docker.sock:Z \
> -v portainer_data:/data:Z --restart=always portainer/portainer
Portainer 설치에 앞서 먼저 사용할 볼륨을 생성한다. Portainer 는 컨테이너 이미지 형태로 제공된다.
도커 환경은 컨테이너 생성시 필요한 이미지가 없을 때 자동으로 다운로드를 하며 다운로드와 컨테이너를 동시에 실행할 수 있다.
--restart=always : 도커를 재시작 했을 때 Portainer 컨테이너가 자동으로 시작
docker daemon이 실행되면 이 컨테이너도 실행하라.
도커가 자동으로 실행이 되어있어도 컨테이너는 자동으로 실행되지 않음
=> 리눅스를 다시 부팅해도 도커는 다시 실행되는데 컨테이너는 자동으로 실행되지 않음
따라서 위의 옵션을 주어 자동으로 컨테이너가 실행되도록
-p 9000:9000' : 9000 번 포트로 Portainer 관리페이지 접근
-v /var/run/docker.sock:/var/run/docker.sock:Z
-v 옵션을 통해 포테이너의 /var/run/docker.sock를 컨테이너의 /var/run/docker.sock로 공유
포테이너와 도커가 연동이 되게 됨 => 데몬을 통해 도커의 명령어를 실행함 -> docker.sock 공유하여 데몬을 실행할 수 있도록 -> 같은 데몬을 사용하게 됨
cf) docker.sock
Docker 데몬이 수신하는 UNIX 소켓
Docker CLI 클라이언트는 이 소켓을 사용하여 기본적으로 docker 명령을 실행
Portainer 사용해보기
httpd 의 기본경로가 /usr/local/apache2/htdocs
컨테이너가 생성될 때 기본적으로 ip가 할당되는데 이때 기본적으로 bridge가 지정이 됨
https://stackoverflow.com/questions/35110146/what-is-the-purpose-of-the-file-docker-sock