Monday, August 21, 2017

Docker 다루기

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

Windows 10 High DPI 에서 Java application의 Font 조절

Reference:  How do I run Java apps upscaled on a high-DPI display?  @superuser.com Summarize 1) Find java.exe you installed.  2) Righ...