docker 정리
Docker 정리
이거 두 가지만 챙기자! 꼭!
그리고 읽어보자.
가상 머신은 격리된 환경을 구축해준다는 데서 매력적이긴 하지만,
실제 배포용으로 쓰기에는 성능 면에서 매우 불리한 도구라고 할 수 있습니다.
당연한 이야기입니다만 일단 운영체제 위에서 또 다른 운영체제를 통째로 돌린다는 것 자체가 리소스를 비효율적으로 활용할 수밖에 없습니다.
이런 가운데 가상 머신의 단점은 극복하면서 장점만을 극대화하기 위한 최적화가 계속해서 이루어지고 있습니다.
도커 역시 이런 단점을 극복하기 위해서 나온 가상화 어플리케이션입니다.
도커는 단순한 가상 머신을 넘어서 어느 플랫폼에서나 재현가능한 어플리케이션 컨테이너를 만들어주는 걸 목표로 합니다.
LXC(리눅스 컨테이너)라는 독특한 개념에서 출발하는 Docker의 가상화는 기존에 운영체제를 통째로 가상화하는 것과는 접근 자체를 달리합니다.
가상 머신이라고 하기에는 격리된 환경을 만들어주는 도구라고 하는 게 맞을 지도 모릅니다.
블라블라….
그냥 이거 보는걸로.. 끝판왕 : https://github.com/DockerKorea/documents.docker.co.kr
소개
개념 + 사용법
- anarcher’s transhcan - Docker deployment slide
- Cloudeveloper - Windows Azure Linux Virtual Machine과 docker를 이용한 Linux 기반의 C# 개발 환경 구축
- Gist - Docker 치트 시트(한국어 번역, @nacyot)
- Joinc - Docker
- nacyot의 프로그래밍 이야기 - 도커(Docker) 튜토리얼 : 깐 김에 배포까지
- PYRASIS.COM - Docker 기본 사용법
- salfactory - Mac OS X에서 docker 설치하기(시작하기)
- Seapy’s Blog - Mac에서 Docker 사용하기
- Spoqa Tech Blog - docker the cloud
- 笑傲江湖 - RHEL7에서 Docker Container 사용하기
- 독거노인 개발자의 우울 - docker getting started: 왕초보를 위한 docker 입문
- 야생강아지 WILDPUP - Docker의 소개와 간단한 사용법
- 월풍도원 - Docker
소개 + 개념
- hatemogi - 프로젝트 13일: 컨테이너 기반 가상화 프레임워크 - Docker
- IT World Korea - 도커 101 : 가장 중요한 질문 8가지
- yisangwook - Docker 에 대한 오해
- 보리네 - docker 를 이해하기 위하여 #1 #2
- 오픈나루 - 오픈소스 슈퍼루키 Docker 이해 하기
- 조대협의 블로그 - Docker란 무엇인가?
- 지디넷코리아 - ‘도커’에 개발·운영이 함께 흥분한 이유
설치
Docker 설치
yum, apt-get 으로 그냥 설치된다.
단! 커널 버전이 3.x 이상이어야 한다.
참고하고 아래에서 골라 읽는 걸로…
- nacyot의 프로그래밍 이야기 - 도커(Docker) 튜토리얼 : 0.8 맥에서 설치하기
- nacyot의 프로그래밍 이야기 - 우분투 14.04(Trusty Tahr)에서 도커(Docker) 설치 및 사용하기
- Seapy’s Blog - CentOS 6.3에 Docker 설치하기
- YONGBOK BLOG - How to install docker on ubuntu
- 독거노인 개발자의 우울 - 맥에서 터미널만으로 docker 사용하기: macox + vmware/vmrun + docker
- 보리네 - Installation of docker
- 오픈나루 - CentOS 6.5 에서 Docker 설치하고 Fedroa 이미지 실행해 보기
- 유스풀패러다임 - OSX에서 Docker로 개발환경 구성하기
Docker private registry 설치
Docker 는 이미지를 저장하고 공유하기 위한 기본 Registry를 제공하고,
개인적 이미지 관리를 위한 Registry 를 Docker 이미지로 제공한다.
Docker 가 설치 되었다면,
Docker 이미지를 통한 컨테이너를 실행하면 된다.
# public registry 에서 이미지 받아오기. docker pull registry:latest # 이미지를 통해 컨테이너 생성하기 # -p 포트포워딩, -d 데몬 모드로 실행, -e 외부에서 들어올 이미지를 저장하는 위치, --name 컨테이너 이름, registry 컨테이너를 생성하는데 사용할 이미지 docker run -d -e STORAGE_PATH=/registry --name "registry" -p 5000:5000 registry # 컨테이너 실행하기 #registry - 컨테이너 이름 docker restart registry |
기본 사용법
잊지 말자!
**이미지 - class**
**컨테이너 - instance**
이미지 받기, 컨테이너 생성, 컨테이너 실행, 이미지 수정, 이미지 외부 저장소로 올리기
이미지 받기
이미 공유되어 있는 많은 이미지들이 존재한다.
아래 명령어로 받아보자
docker pull image-name |
컨테이너 생성
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] |
컨테이너 재실행
docker restart 컨테이너 이름 |
이미지 수정
정확히 말하면 이미지를 수정하는게 아니라 컨테이너에서 변경을 하고, docker commit 하면
변경분이 이미지로 저장된다.
docker diff 도 제공.
이미지 외부 저장소로 올리기
#이미지에 태그를 달아야한다. docker tag 이미지이름 태그이름 ex: docker tag centos 100.255.11.183:5000/centos #태그된 이미지를 push 하자 docker push 100.255.11.183.5000/centos |
팀 Docker private registry 정보
docker-registry는 UI를 통해 제공하는것은 없고, Docker 명령어로 pull, push 를 할 수 있도록 기능만 제공함.
예외적으로 /v1/search 하면 이미지 목록을 보여줌
http://de-app-dev01-mv:5000/ 접속후 아래와 같이 나오면 정상임.
로컬에서 private registry 접근 설정
Mac OS :
boot2docker ssh echo 'EXTRA_ARGS="--insecure-registry 100.255.11.183:5000"' | sudo tee -a /var/lib/boot2docker/profile sudo /etc/init.d/docker restart exit |
Ubuntu :
sudo vi /etc/default/docker DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=100.255.11.183:5000" sudo service docker restart |
- Docker > 7c598f1403d172bdad15d826f712df0c.jpg” src=”http://wiki.coupang.net:8090/download/attachments/31686825/7c598f1403d172bdad15d826f712df0c.jpg?version=1&modificationDate=1423818823452” data-image-src=”/download/attachments/31686825/7c598f1403d172bdad15d826f712df0c.jpg?version=1&modificationDate=1423818823452” data-linked-resource-id=”30840531” data-linked-resource-type=”attachment” data-linked-resource-default-alias=”7c598f1403d172bdad15d826f712df0c.jpg” data-base-url=”http://wiki.coupang.net:8090” data-linked-resource-container-id=”31686825” data-mce-src=”http://wiki.coupang.net:8090/download/attachments/31686825/7c598f1403d172bdad15d826f712df0c.jpg?version=1&modificationDate=1423818823452” style=”border: 1px solid transparent; cursor: move;”>
- [정리] 정보이론: 정보량 (Information), 엔트로피 ( Entropy ), 쿨백 라이블러 발산 (KL-Divergence), 크로스 엔트로피 ( Cross - Entropy ), maximum likelihood
- [발번역] Bag of words (BoW) - Natural Language processing
- Installing Anaconda and Jupyter notebook
- 다시 보는 Java : FileChannel transferTo()
- 다시 보는 Java : NIO Channel
- 다시 보는 Java : Socket-Direct-Protocol
- 다시 보는 Java
- Streamsets DataCollector Source Build
- Apache Helix Core Concepts
- Introduce Flipkart Aesop