도커(Docker)
도커
- 리눅스 컨테이너에 여러 기능을 추가
- 어플리케이션을 컨테이너로 좀 더 쉽게 사용할 수 있게 만든 오픈소스 프로젝트
- 가상 머신과 달리 성능 손실이 거의 없는 클라우드 솔루션으로 주목
도커 프로젝트
- 도커 컴포즈, 도커머신, 레지스트리, Kitematic 등 다양한 프로젝트 존재
- 일반적 도커 : 도커엔진을 의미
- 도커 프로젝트는 도커 엔진을 효율적으로 사용하기 위한 도구들
가상머신과 도커 컨테이너
가상머신
- 하이퍼바이저를 통한 가상화로 성능 손실이 발생
- 완벽한 독립적 공간을 생성하나, 이미지 용량이 크고 가상머신 배포에 부담
도커 컨테이너
- 리눅스 chroot, 네임스페이스, cgroup을 사용한 프로세스 단위 격리 환경 구성
- 어플리케이션 구동을 위한 라이브러리만 포함한 이미지 생성, 용량이 적
도커데몬
도커구조
- 도커 명령어
$ which docker
/usr/bin/docker
docker : 클라이언트 CLI 명령어
- 도커프로세스
$ ps aux | grep docker
avahi 706 0.0 0.0 30204 1816 ? Ss 05:45 0:00 avahi-daemon: running [docker1.local]
root 923 0.3 2.2 675780 41280 ? Ssl 05:45 0:21 /usr/bin/dockerd --insecure-registry 192.168.35.51:5000
$ ls /var/run/docker.sock
/var/run/docker.sock
dockerd : 도커 엔진의 프로세스는 dockerd 파일로 실행
docker 클라이언트는 /var/run/docker.sock 유닉스 소켓을 통해 API 명령 호출
도커 데몬 실행
- 도커 데몬 서비스 실행
$ systemctl start docker
$ systemctl stop docker
- 도커 데몬 서비스 자동 실행 설정
$ systemctl enable docker
도커 데몬 직접 실행
- 도커 데몬 실행
$ dockerd --help
Usage: dockerd COMMAND
A self-sufficient runtime for containers.
Options:
--add-runtime runtime Register an additional OCI compatible runtime (default [])
..
docker 서비스는 dockerd 명령을 참조해 서비스를 시작
도커 데몬 실행 옵션 설정
- dockerd 명령에 옵션 설정
$ dockerd -D -H tcp://0.0.0.0:2375 --insecure-registry=192.168.100.99:5000 --tls=false
- 도커 데몬 서비스에서 옵션 설정
$ vi /etc/systemd/system/multi-user.target.wants/docker.service
[Service]
..
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.35.51:5000
..
systemd 서비스의 실행 옵션을 변경 후 적용
systemd 버전 업그레이스시 덮어씌워져 변경 될 수 있음
- docker 서비스용 옵션 설정 파일 생성 후 변경
$ mkdir -p /etc/systemd/system/docker.service.d
$ vi /etc/systemd/system/docker.service.d/docker.conf
[Service]
..
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.35.51:5000
systemd 버전 업그레이드와 관계없이 영구 적용
docker 서비스 재시작 후 적용확인
도커 데몬 실행 옵션 설정
- 도커 데몬 원격 API 사용 가능 옵션
$ dockerd -D -H tcp://192.168.99.100:2375
-H : 도커 데몬 API 접근 통신 포트 설정
기본 API 값 : -H unix:///var/run/docker.sock (로컬 유닉스 소켓 사용)
-H tcp://192.168.99.100:2375 (URL 로 http 요청을 보내 데몬 API 접근)
- docker 클라이언트의 docker 데몬 주소 설정
[client] $ export DOCKER_HOST=”tcp://192.168.199.100:2375”
[client] $ docker version
[client] $ docker -H tcp://192.168.100.2375 version
'Docker' 카테고리의 다른 글
[Docker] Install Docker Engine on Ubuntu (0) | 2022.01.06 |
---|