Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

Docker ?

CM/docker 2017.06.27 15:23
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T





 Docker?
  • 2013년 3월 Docker, Inc에서 출시한 오픈소스 컨테이너 프로젝트
  • 복잡한 리눅스 어플리케이션을 컨테이너로 묶어서 실행할 수 있음.
  • 리눅스 커널에서 제공하는 컨테이너 기술을 이용.
  • 컨테이너(이미지)를 전 세계 사람들과 공유
  • Github와 비슷한 방식의 Docker Hub 제공.
  • 이미지 생성과 배포에 특화.
    • 이미지 버전관리 제공, 중앙저장소에서 이미지를 올리고 받을 수 있음. (push/pull)

컨테이너?
  • 가상화보다 훨씬 가벼운 기술.
    • 가상머신 : 컴퓨터 안에서 컴퓨터를 만들어내기 위한 시도(1960년 대에 가상화 개념이 처음 등장)
      • 컴퓨터 통째로 만들어내다보니 각종 성능 손실이 발생. -> 리눅스 컨테이너 등장.
  • 컨테이너 안에 가상공간을 만들지만 실행 파일을 호스트에서 직접 실행.(리눅스 커널의 groups, namespaces가 제공하는 기술)



도커는 리눅스 컨테이너를 사용!
  • 초기에는 LXC(Linux Container)를 기반으로 구현.
  • 버전 0.9 부터는 LXC를 대신하는 libcontainer를 개발하여 사용.
  • 실행 옵션으로 선택 가능.

이미지와 컨테이너의 구분
  • 이미지 : 서비스 운영에 필요한 서버 프로그램
    • 소스코드, 컴파일된 실행 파일을 묶음 형태.
    • 저장소에 올리고 받는것은 이미지!(push/pull)
    • 이미지로 여러 개의 컨테이너를 만들수 있음.
  • 컨테이너 : 이미지를 실행한 상태!


도커 사용
docker + <명령>
예) docker run, docker push
* 항상 root 권한으로 실행.

  • docker hub에서 이미지 검색해보기
    • docker search <image name>
      • sudo docker search ubuntu
  • docker hub에서 이미지를 받아보자.
    • docker pull <image name>:<tag>
      • sudo docker pull ubuntu:latest
  • 모든 이미지를 출력해보기
    • docker images
      • sudo docker images
  • 이미지를 컨테이너로 생성한 뒤 Bash shell 실행해보기.
    • docker run <옵션> <이미지 이름> <실행할 파일>
      • sudo docker run -i -t —name hello ubuntu /bin/bash
      • -i : interactive / -t : passed-tty
        • 실행된 Bash 쉘에 입력 및 출력 가능.
      • —name : 컨테이너 이름을 지정. 미지정시 자동으로 이름을 생성하여 지정.
  • 모든 컨테이너 목록 출력
    • docker ps
      • sudo docker ps -a
  • 컨테이너 시작
    • docker start(restart) <컨테이너 이름>
      • sudo docker start hello
  • 방금 시작한 컨테이너에 접속해보기
    • docker attach <컨테이너 이름>
      • sudo docker attach hello
  • /bin/bash를 통하지 않고 외부에서 컨테이너 안의 명령 실행해보기
    • docker exec <컨테이너이름> <명령> <매개변수>
      • sudo docker exec hello echo “hello world”
  • 컨테이너 중지
    • docker stop <컨테이너 이름>
      • sudo docker stop hello
  • 컨테이너 삭제
    • docker rm hello
      • sudo docker rm hello
  • 이미지 삭제
    • docker rmi <이미지 이름>:<태그>
      • sudo docker rmi ubuntu:latest



저작자 표시 비영리 변경 금지
신고

'CM > docker' 카테고리의 다른 글

Docker ?  (0) 2017.06.27
about docker  (0) 2017.04.27

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

about docker

CM/docker 2017.04.27 14:40
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


docker 란?

docker install 

docker 명령어

docker 오류



docker란?

참조 사이트 : 

https://www.slideshare.net/pyrasis/docker-docker-38286477

http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/


docker install - CentOS 7 ver.

아래의 부분이 없으면 최신버전으로 install 되지 않는다.

sudo vi /etc/yum.repos.d/docker.repo   

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg 


sudo yum makecache fast # 레파지토리 캐시 만들기


sudo yum -y install docker-engine


docker 명령어

daemon 띄우기

  - sudo service docker restart 또는 sudo systemctl restart docker.service

  - 참고: http://stackoverflow.com/questions/35969721/run-docker-in-daemon-mode


동작 중인 컨테이너 확인

docker ps


정지된 컨테이너 확인

docker ps -a


컨테이너 삭제

docker rm [컨테이너 id]


현재 이미지 확인

docker images


이미지 삭제

docker rmi [이미지 id]


컨테이너 삭제 전에 이미지를 삭제할 경우

-f 옵션을 붙이면 컨테이너도 강제 삭제.

docker rmi -f [이미지id]



docker 오류

1. shim error: docker-runc not installed on system 발생.

해결책으로 sudo ln -s docker-runc-current docker-runc 수행. 그러나 역시 해결 X.


아래의 명령 수행 후 다시 셋팅 도오전..

sudo yum remove docker \                  

docker-common \                  

container-selinux \                  

docker-selinux \                  

docker-engine


2. Cannot connect to the Docker daemon. Is the docker daemon running on this host?

sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 로 하였으나 이방법 보다는 sudo service docker restart 이 방법이 더 나은것 같다.


3. docker 명령어를 수행하는데 있어서 뭔가 방화벽이 막혀있는것 처럼 보인다면..(CentOS 7 기준)

firewalld를 셋팅하여 포트를 설정하여 본다.

참고 :

https://www.lesstif.com/pages/viewpage.action?pageId=22053128

https://okky.kr/article/276568



저작자 표시 비영리 변경 금지
신고

'CM > docker' 카테고리의 다른 글

Docker ?  (0) 2017.06.27
about docker  (0) 2017.04.27

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바