Docker
개념
- Immutable Infrastructure
- 호스트OS와 서비스 운영환경(서버 프로그램, 소스 코드, 컴파일된 바이너리)을 분리하고, 한번 설정한 운영 환경은 변경하지 않는다.
- docker 이미지(실행파일) 자체는 변하지 않는다.
- cf. 하이퍼바이저 기반 가상머신(Virtual Machine)의 이미지는 계속 변화한다.
- docker 컨테이너를 또 다른 이미지로 만들 수도 있다.
설치 및 삭제
Editions
- EE
- 2017년 3월 2일 Docker Enterprise Edition이 announce됨
- Basic
- Standard, Advanced: advanced 컨테이너 관리 및 Security Scanning 기능 추가
- CE
- 종래 오픈소스 Docker는 Community Edition으로.
- 매달 release: Edge 버전
- 분기별 release: Stable 버전
Versions
- YY.MM 방식으로.
How to Install @ Ubuntu 16.04 (Xenial)
방안1. repository 구축- 방안2. 패키지(.deb) 다운로드
- 업그레이드 필요시, 다시 다운로드 받아서 설치 필요.
- pool/stable/ 폴더에서 amd64 선택 후 원하는 버전 선택.
- amd64 = x64 = x86-64
- docker-ce-17.06.1 (2017.08.18)
방안3. Script 구동.
How to uninstall
- 패키지 삭제
- $ sudo apt-get purge docker-ce
- 이미지, 컨테이너, 설정파일 모두 삭제
- $ sudo rm -rf /var/lib/docker
사용법
- 현재 user를 docker group에 추가
- Docker daemon connect permission denied 문제 해결 방법
- $ sudo usermod -a -G docker $USER
- reboot 또는 {log out 후 다시 log in}
- 설치 확인
- $ docker version
- 이미지 불러오기
- $ docker images
- $ docker search Ubuntu
- $ docker pull xxxx
- 이미지(실행파일) 실행 후 컨테이너(프로세스) 수행
- $ docker run –it Ubuntu:14.04 /bin/bash (실행하고 그 안으로 들어감)
- -i : 입출력 보여주도록
- -t : 가상 터미널 환경 이용
- 컨테이너 관리
- $ docker ps (실행 중인 컨테이너만 보여줌)
- $ docker ps –a (이미 종료된 것도 보여줌)
- $ docker start (실행만 하고 들어가지 않음)
- $ docker attach (실행한 컨테이너 안으로 들어갈 때)
- ctrl + p + q : 실행중인 컨테이너에서 빠져나오기.
- $ docker rm -f xxx (실행 중인 컨테이너 지우기)
- $ docker rmi xxx (이미지 자체를 완전히 지우기)
- 도커 내에서 GUI 이용하는 프로그램 구동하려면, (예: eclipse)
- $ docker run 의 인자로 다음을 추가
- -e DISPLAY=$DISPLAY \
- -v /tmp/.X11-unix:/tmp/.X11-unix \
No comments:
Post a Comment