Docker Deamon

도커 구성

  • 도커 클라이언트 : 도커 cli
  • 도커 데몬 : 실제 도커 프로세스 


개발자 --> { (도커 클라이언트) -- /var/run/docker.sock --> (도커 데몬) }

                                                                                                          ^

                         (원격호스트) ------- curl {ip}:{port}/version ------|


# ps aux | grep docker  로 도커 데몬(dockerd) 확인 가능


cf)

  • 우분투는 도커 설치시 도커 데몬이 기본 실행된다.
  • 레드헷 계열을 실행 시켜 줘야 한다.

# sudo service docker start 로 실행 가능

# sudo dockerd -H unix://var/run/docker.sock 로 실행 가능

- 데몬은 옵션을 수동 실행시 줄 수도 있지만 /etc/default/docker(우분투)에 설정 파일로 지정 가능 

# sudo service docker stop 로 실행 중단

# sudo systemctl enable docker 로  SystemV init 등록


도커 Remote API

도커 데몬 수동 실행

$> sudo service stop docker

$> dockerd -H tcp://{dockerd 실행 호스트 IP}:2375 [-H unix://var/run/docker.sock]

  • docker.sock은 도커 클라이언트가 사용하는 소켓.
  • 따라서 없으면 remote api만 사용할 수 있고 docker 명령어 사용 불가.
확인
$> curl {dockerd 실행중인 IP}:2375/version --silent

TLS 적용법

도커 데몬은 remote 접속시 기본적으로 보안이 적용되어 있지 않다.

1) 데몬 실행
$> sudo dockerd --tlsverify \
                            --tlscacert={CA인증서_DIR}/ca.pem \
                            --tlscert={서버_인증서_DIR}/server-cert.pem \
                            --tlskey={서버_키_DIR}/server-key.pem \
                            -H tcp://{서버IP}:2376 \
                            -H unix:///var/run/docker.sock

2) 클라이언트에서 확인
$> docker -H {서버IP}:2376 --tlsverify \
                                                --tlscacert={CA인증서_DIR}/ca.pem \
                                                --tlscert={클라이언트_인증서_DIR}/cert.pem \
                                                --tlskey={클라이언트_키_DIR}/key.pem \
                                                version
3) CURL 확인
$> curl https://{서버IP}:2376/version \
            --cacert {CA인증서_DIR}/ca.pem \
            --cert {클라이언트_인증서_DIR}/cert.pem \
            --key {클라이언트_키_DIR}/key.pem

cf) 인증서 만들기

댓글

이 블로그의 인기 게시물

[Protocol] WIEGAND 통신

Orange for Oracle에서 한글 깨짐 해결책

[URL] 대소문자를 구분하나?