docker 기본 시작

6765 단어
docker 개념 이해
docker 렌즈, 용기, 창고의 기본 개념
  • 미러
  • Docker 미러는 읽기 전용 템플릿입니다.예를 들어 하나의 미러에는 httpd 또는 사용자가 필요로 하는 다른 애플리케이션만 설치된 전체 CentOS 운영 체제 환경이 포함될 수 있습니다.
  • 미러를 사용하여 Docker 컨테이너를 만들 수 있습니다.
  • Docker는 간단한 메커니즘을 제공하여 이미지를 만들거나 기존의 이미지를 업데이트할 수 있다. 사용자는 심지어 다른 사람에게서 이미 만들어진 이미지를 다운로드하여 직접 사용할 수 있다.
  • 미러에 대한 기본 정보:
  • 어느 창고에서 왔는지, 예를 들어 ubuntu
  • 거울의 표시, 예를 들어 14.04
  • 고유한 ID 번호
  • 생성 시간
  • 미러 크기
  • 용기
  • Docker는 용기를 이용하여 응용을 실행합니다.
  • 용기는 거울에서 만들어진 실행 실례입니다.시작, 시작, 정지, 삭제할 수 있습니다.모든 용기는 서로 격리되고 안전을 보장하는 플랫폼이다.
  • 은 용기를 간편한 리눅스 환경(루트 사용자 권한, 프로세스 공간, 사용자 공간과 네트워크 공간 등 포함)과 그 중에서 실행되는 응용 프로그램으로 볼 수 있다.
  • 주: 거울은 읽기만 하고 용기는 시작할 때 쓰기 가능한 층을 최상층으로 만듭니다.
  • 창고
  • 웨어하우스는 미러 파일을 중앙 집중식으로 보관하는 장소입니다.때때로 창고와 창고 등록 서버(Registry)를 혼동하여 엄격하게 구분하지 않는다.실제로 창고 등록 서버에 여러 개의 창고가 저장되어 있고 창고마다 여러 개의 거울이 포함되어 있으며 거울마다 다른 라벨(tag)이 있다.
  • 창고는 공개창고(Public)와 사유창고(Private) 두 가지 형태로 나뉜다.
  • 가장 큰 공개 창고는 Docker Hub로 사용자가 다운로드할 수 있도록 거대한 거울을 저장했다.기본 docker 창고로 사용되지만 국내에서는 다운로드 속도가 느리다.물론 사용자도 로컬 네트워크에 개인 창고를 만들 수 있다.사용자가 자신의 렌즈를 만든 후에push 명령을 사용하여 공유나 개인 창고에 업로드할 수 있습니다. 다음에 다른 기계에서 이 렌즈를 사용할 때 창고에서pull만 내려오면 됩니다.
  • 주: Docker 창고의 개념은 Git와 유사하고 등록 서버는 GitHub와 같은 위탁 관리 서비스로 이해할 수 있다.

  • docker 기본 사용
    기본 명령 목록
  • 용기 생명주기 관리 - docker [run|start|stop|restart|kill|rm|pause|unpause]
  • 용기 조작 운영 - docker [ps|inspect|top|attach|events|logs|wait|export|port]
  • 컨테이너 루트fs 명령 - docker [commit|cp|diff]
  • 렌즈 창고 - docker [login|pull|push|search]
  • 로컬 이미지 관리 - docker [images|rmi|tag|build|history|save|import]
  • 기타 명령 - docker [info|version]
  • 사용 예
  • 용기에 들어가기: docker exec-it db3/bin/sh 또는 docker exec-it d48b21a7 e439/bin/sh
  • 모든 이미지 삭제: docker rmi$(docker images -q)
  • xshell의 ssh 연결 사용하기
  • VM IP:ifconfig.
  • xshell에서 ssh 연결을 사용합니다:docker/tcuser
  • 가상 컴퓨터에 들어가면sudo-i(docker 사용자 아래에서 실행)를 사용하여 루트 사용자에게 들어갈 수 있습니다.

  • 아리운docker 미러
  • 아리운docker registry에 로그인:
  • $ sudo docker login --username=username registry.cn-shenzhen.aliyuncs.com
    

    registry에 로그인한 사용자 이름은 아리운 계정의 전체 이름이고 비밀번호는namespace를 개설할 때 설정한 비밀번호입니다.
  • registry에서 렌즈 끌어오기:
  • $ sudo docker pull registry.cn-shenzhen.aliyuncs.com/honkon/configserver:[     ]
    
  • 거울을registry로 밀어넣기:
  • $ sudo docker login --username=username registry.cn-shenzhen.aliyuncs.com
    $ sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/honkon/configserver:[     ]
    $ sudo docker push registry.cn-shenzhen.aliyuncs.com/honkon/configserver:[     ]
    

    여기서 [ImageId], [미러 버전 번호]를 미러 정보에 따라 입력합니다.
    Dockerfile을 사용하여 미러 생성
  • Dockerfile의 기본 문법은
  • #을 사용하여 주석 달기
  • FROM 명령은 Docker가 어떤 거울을 기반으로 하는지 알려주고 그 다음에 관리자의 정보를 알려준다
  • RUN에서 시작하는 명령은 창설 중에 실행됩니다. 예를 들어 패키지를 설치하고 apt-get을 사용하여 소프트웨어를 설치합니다
  • Dockerfile을 작성한 후 docker build을 사용하여 거울을 생성할 수 있음
  • sudo docker build -t="ouruser/sinatra:v2".
  • Dockerfile의 각 명령은 미러의 레이어를 만듭니다. 예를 들어,
  • # This is a comment
    FROM ubuntu:14.04
    MAINTAINER Docker Newbee 
    RUN apt-get -qq update
    RUN apt-get -qqy install ruby ruby-dev
    RUN gem install sinatra
    

    ADD 명령을 사용하여 로컬 파일을 미러로 복사할 수도 있습니다.EXPOSE 명령을 사용하여 포트를 외부에 개방합니다.컨테이너가 시작된 후 실행되는 프로그램 등을 CMD 명령으로 설명합니다.
    docker compose는 여러 용기와 서비스를 관리합니다
  • docker-compose 설치:curl -L"https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)"-o/usr/local/bin/docker-compose
  • docker-compose 작성yml 파일:docker-composefilems.yml
  • nginx:
      image: nginx:1.12.0【    】
      volumes:
        - /hq/filems/filedir:/filedir
      ports:
        - "9116:80"
    storeFileMS:
      image: registry.cn-beijing.aliyuncs.com/zenmind/storefilems【      】
      ports:【       port:  port】
        - "9115:9115"
      volumes:【          :    】
        - /hq/filems/filedir:/filedir
      environment:【    】
        - env.eureka.address=http://192.168.190.215:9111/eureka/
        - env.prd.active=true
        - env.profiles.active=prd
    
  • 실행: docker-compose up
  • 컨테이너 상태 보기:docker-composeps
  • 기타 명령:
  • 모든 용기 재부팅: docker-compose restart
  • App1을 다시 시작합니다. docker-compose restart App1
  • 모든 용기 정지: docker-compose stop
  • App1 중지: docker-compose stop App1
  • docker는 아리운 Docker 이미지 라이브러리를 사용하여 가속
  • ubuntu:
  • curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
  • Docker 가속기 설정은 다음과 같은 스크립트를 사용하여mirror의 설정을 docker daemon의 시작 파라미터에 추가할 수 있습니다.
  • echo "DOCKER_OPTS=\"--registry-mirror=https://8l2t43bu.mirror.aliyuncs.com\"" | sudo tee -a /etc/default/docker
    sudo service docker restart
    
  • centos:
  • curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
  • Docker 가속기를 설정합니다. 다음 스크립트를 사용하여mirror의 설정을 docker daemon의 시작 파라미터에 추가할 수 있습니다.CentOS 7 이상, Docker 1.9 이상이 필요합니다.
  • sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
    sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://8l2t43bu.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service
    sudo systemctl daemon-reload
    sudo service docker restart
    
  • windows:
  • Docker 설치 또는 업그레이드
  • Docker Toolbox를 설치하는 것이 좋습니다.Toolbox 소개 및 도움말 및 Windows 시스템 설치 파일 디렉토리
  • 빠른 시작
  • #        Docker   Linux   ,       default
    docker-machine create -d virtualbox default
    #          ,      。    Docker     Docker  。
    docker-machine env default
    eval "$(docker-machine env default)"
    docker info
      Docker   
               mirror      docker daemon      。
    docker-machine ssh default "echo 'EXTRA_ARGS=\"--registry-mirror=https://8l2t43bu.mirror.aliyuncs.com\"' | sudo tee -a /var/lib/boot2docker/profile"
    docker-machine restart default 
    
  • macos:
  • Docker 설치 또는 업그레이드
  • Docker Toolbox를 설치하는 것이 좋습니다.Toolbox 소개 및 도움말 및 Windows 시스템 설치 파일 디렉토리
  • 빠른 시작
  • #        Docker   Linux   ,       default
    docker-machine create -d virtualbox default
    #          ,      。    Docker     Docker  。
    docker-machine env default
    eval "$(docker-machine env default)"
    docker info
      Docker   
               mirror      docker daemon      。
    docker-machine ssh default "echo 'EXTRA_ARGS=\"--registry-mirror=https://8l2t43bu.mirror.aliyuncs.com\"' | sudo tee -a /var/lib/boot2docker/profile"
    docker-machine restart default
    

    좋은 웹페이지 즐겨찾기