Docker 기본 및 설치

9353 단어
  • Docker 소개
  • Dokcer 기능 특성
  • Docker 응용 장면
  • 설치 환경
  • 방화벽 및 안전 메커니즘
  • 버전 선택
  • Docker Standard Edition 설치
  • Docker CE 버전 설치
  • Docker 실행 디렉토리 수정
  •  
    Dokcer 소개
     
  • Docker는 기원된 응용 용기 엔진으로 개발자가 응용 프로그램을 포장하고 이식 가능한 용기에 의존하여 그 어떠한 유행하는 Linux 서버에 발표할 수 있으며 가상화를 실현할 수 있다. 용기는 샌드박스 메커니즘을 완전히 사용하고 서로 인터페이스가 없다.
  • 완전한 Docker 포함
  • Dokcer 클라이언트
  • Dokcer Daemon 데몬
  • Docker Image 미러
  • Docker Container 컨테이너

  • Dokcer 기능 특징
     
  • 격리 환경(시스템, 네트워크, 파일 시스템) 및 응용
  • cgroup(격리 및 추적 자원 사용) &namespace(그룹과 그룹 간의 격리)를 통해 경량급 프로세스 격리를 실현한다.
  • 용기에서 실행되는 프로세스에 대해 자신이 하나의 시스템을 독점했다
  • 용기간 네트워크, 파일 및 기타 자원은 서로 격리된다.

  • 종속 및 버전 문제 해결
  • 전통적인 모델에서 여러 개의 서로 다른 환경이나 버전의 프로젝트는 서로 다른 서버에 배치해야 하기 때문에 배치와 후기 유지보수 관리가 복잡하고 번거롭다.
  • Docker를 사용하여 여러 버전이나 환경의 거울을 통해 한 기계에서 서로 간섭하지 않고 배치와 후기 유지보수가 간단하고 편리하다.

  • 간편한 배포 및 즉시 사용 가능
  • 거울은 가져오기, 내보내기, 거울 창고에 업로드 등 다양한 방식으로 사용 작업을 할 수 있다.
  • Docker를 시작한 시스템에서 docker run을 직접 사용하면 이미지를 시작할 수 있으며 특별한 설정이 필요 없습니다.

  • 노드와 용기의 빠른 용량 확장
  • 용기 확장이 간단하고 편리하다.
  • 확장 노드는 Docker를 설치하고 시작하기만 하면 됩니다.

  • 거울 제작이 간단하고 편리하며 관리가 편리하다.
  • 거울의 영혼 Dockerfile;
  • Dockerfile을 사용하여 지령제어,FROM,MAINTAINER,LABEL,ENV,RUN 등;
  • Linux 명령을 바탕으로 이해하기 쉽다.
  • 맞춤형 제작과 수정이 용이하다.


  • Docker 응용 장면
  • 웹 응용의 자동화 패키지와 발표;
  • 자동화 테스트와 지속적인 통합, 발표;
  • 응용 서비스, 예를 들어 MySQL,Redis 등은 Docker를 통해 신속한 배치를 실현한다.
  • k8s프라이빗 클라우드
  • Docker는 일반적으로 다음 장면에 사용됩니다.
  • 응용 장면1: 다중 버전 다종류 시스템과 소프트웨어
  • 하나의 CentOS 7/하나의 CentOS 6/하나의 Ubuntu/MySQL 5.5/MySQL 5.7 등을 테스트해야 한다.
  • 각 환경이 설정된 후 몇 분만 사용하면 버전을 교체해야 한다.
  • 전통적인 가상 기기 솔루션을 사용하여 하루하루 다른 일을 필요로 하지 않는다.
  • Docker를 사용하면 필요에 따라 docker run
  • 하나만 필요합니다.
  • 응용 장면2: 환경
  • PHP 운영 환경, PHP 버전, PHP 확장 버전 등 여러 환경 버전의 일치성에 문제가 존재하는 경우가 많다.
  • 환경이 일치하지 않는 용기는 많은 문제를 초래한다. 예를 들어 테스트 환경이 정상적인 프로젝트에서 생산 후 오류를 보고하면 테스트 환경으로 되돌아가도 다시 나타나지 않는다.
  • Docker 렌즈를 사용하여 운행 환경을 봉인하여 한 번에 구축하고 곳곳에서 운행한다.
  • 새로 추가된 시스템도 신속하게 배치하여 효율적인 노드 확장을 실현하고 업무의 건강과 안정성을 보장한다.
  • 개발자 간에도 환경 일치성 문제를 해결했고 더 이상 환경 문제로 고민하지 않고 업무 수요 실현에 전념할 필요가 없다.

  • 응용 장면3: 배달
  • 프로젝트를 컴파일한 후 설치 문서를 가지고 고객 현장에 가서 설치 및 배치한다.
  • 시스템 준비 필요
  • 구성 환경;
  • 프로젝트 업로드 프로그램;
  • 가동 운행, 오류 보고, 디버깅;
  • 이전 단계 반복
  • 운행 환경과 프로젝트 코드를 docker 렌즈로 봉하여 고객 현장에 도착한 후 시스템에 Docker를 설치하고 시작합니다.
  • 미러 가져오기가 시작됩니다.

  • 원격으로도 배포 가능

  • 설치 환경
     
  • 시스템: CentOS 7.4 minimal
  • 시간대: Asia/Shanghai
  • 파티션:
  •   /boot        XFS        500M
  • swap 사용하지 않음
  • /나머지 전부
  • Docker는 Windows와 MacOS 버전이 있지만 호환성을 높이기 위해 Linux에서 Docker를 실행합니다.
  • vMware 가상 시스템을 사용하여 CentOS 시스템을 설치 및 실행합니다.
  • 기타 가상 소프트웨어 VirtualBox, KVM, Xen 등도 가능
  • 방화벽 및 안전 메커니즘
     
  • 방화벽: 권장 켜기
  • SeLinux: 권장 켜기
  • 특별히 설명해야 할 것은 방화벽과selinux는 시스템과 네트워크 안전의 중요한 보장이다. 우리는 쉽게 그것들을 사용하지 않거나 사용하지 말아야 한다
  • 후속으로 사용
  • 버전 선택
  •  Docker
  • 17.03 이후 버전이 Docker CE
  • 로 변경됨
  •  Docker CE
  • 커뮤니티 에디션, Community Edition
  • Docker EE
  • Enterprise Edition
  • 유료 버전으로 보안을 강조하고 고급 기능 및 비즈니스 지원을 제공

  • Docker 표준 버전 설치
     
     
    //    yum    docker
    yum -y install docker
    
    //    docker         
    systemctl start docker
    systemctl enable docke

     
     
    Docker CE 버전 설치
     
     
    //        yum     docker,           
    ps -ef |grep docker && yum -y remove docker
    
    //      yum       
    yum history                                //     yum   
    yum history info N                      //     yum    N     
    yum history undo N                    //      N           
    
    //        
    yum -y install yum-utils device-mapper-persistent-data lvm2
    
    //        docker-ce.repo
    yum-config-manager --add-repo=http://download.docker.com/linux/centos/docker-ce.repo
     || 
    curl http://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    
    //    docker-ce
    yum -y install docker-ce
    
    //    docker        
    systemctl start docker
    systemctl enable docker
    
    
    //   docker   
    docker version
    Client:
     Version:           18.09.6
     API version:       1.39
     Go version:        go1.10.8
     Git commit:        481bc77156
     Built:             Sat May  4 02:34:58 2019
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server: Docker Engine - Community
     Engine:
      Version:          18.09.6
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.8
      Git commit:       481bc77
      Built:            Sat May  4 02:02:43 2019
      OS/Arch:          linux/amd64
      Experimental:     false    

     
     
    Docker 실행 디렉토리 수정
     
     
    왜냐하면 서버와 클라우드 서버 루트 디렉터리의 공간이 크지 않을 때가 있습니다. docker는 기본적으로/var/lib/docker 디렉터리를 사용합니다. 우리는 우리가 설정하고자 하는 공간이 충분한 디렉터리로 변경합니다.
     
    //        
    mkdir /data/docker
    
    //       
    vim /usr/lib/systemd/system/docker.service
    ... ...
    ExecStart=/usr/bin/dockerd \
        --data-root /data/docker            //          ;
    ... ...
    
    // reload  
    systemctl daemon-reload
    
    
    //   docker
    systemctl restart docker
    
    //    selinux       ,       
    chcon -R -u system_u /data/docker
    chcon -R -t container_var_lib_t /data/docker
    chcon -R -t container_share_t /data/docker/overlay2

     
    전재 대상:https://www.cnblogs.com/haorong/p/11008652.html

    좋은 웹페이지 즐겨찾기