부두 컨테이너화. 제1부분

개술


이 글은 Docker와 서로 다른 언어 (자바와 Python) 로 개발된 프로그램을 배치하는 방법에 대해 알고 있습니다. 시작하기 전에 자바나 Python의 실천 경험이 있는지 확인하십시오. 이 글은 로컬 컴퓨터에서 실행되는 프로그램에 배치할 것입니다.
디자인 모드:
단일 구조는 응용 프로그램을 구축하는 전통적인 방식으로 여겨진다.단일 응용 프로그램은 다른 계산 응용 프로그램과 독립적으로 포함되어 있다.
마이크로 서비스 체계 구조는 일종의 체계 구조 스타일로 마이크로 서비스는 하나의 응용 프로그램을 일련의 비교적 작은 독립 단원으로 분해한다. 이것은-
  • 높은 유지 관리 및 테스트 용이
  • 솔리드 결합
  • 소규모 팀이 관리할 수 있음
  • 이 아키텍처는 복잡하고 대규모 어플리케이션을 위한 빠르고 빈번하며 신뢰할 수 있는 제공 솔루션을 제공합니다.
    무엇이 컨테이너입니까?
  • 표준: 컨테이너는 휴대할 수 있으며 docker의 업계 표준에 부합된다.
  • 경량급: 기계 운영체제의 핵을 공유하기 때문에 응용 프로그램마다 하나의 운영체제가 필요하지 않고 허가와 서버 등 다른 비용을 줄인다.
  • 안전: Docker는 가장 강한 기본 격리 기능을 가지고 있는데 이것도 응용 프로그램이 용기에서 더욱 안전한 이유이다.
  • Docker 기능


    Docker는 개발자와 시스템 관리자가 용기를 사용하여 응용 프로그램을 구축하고 실행하며 공유하는 플랫폼이다.용기 배치 응용 프로그램을 사용하는 것을 용기화라고 한다.용기는 새로운 것이 아니지만, 응용 프로그램을 쉽게 배치하는 데 쓰이는 용도는 새로운 것이다.
    왜 컨테이너화가 갈수록 유행하는지, 왜냐하면 컨테이너:

  • 유연성: 가장 복잡한 프로그램이라도 용기화할 수 있다.

  • 경량급: 용기는 호스트 핵을 이용하여 시스템 자원을 가상 컴퓨터보다 효율적으로 공유한다.

  • 이식 가능: 로컬에서 클라우드에 구축하고 배치할 수 있으며 어디서든 실행할 수 있습니다.

  • 느슨한 결합: 용기는 고도의 자급자족과 봉인으로 다른 용기를 중단하지 않고 그 용기를 교체하거나 업그레이드할 수 있습니다.

  • 확장 가능: 데이터 센터에서 컨테이너 복사본을 추가하고 자동으로 분배할 수 있습니다.

  • 보안: 용기는 프로세스에 엄격한 제약과 격리를 적용하고 사용자가 설정할 필요가 없습니다.
  • Docker 엔진



  • Docker Daemon – 이미지, 네트워크, 스토리지 볼륨 및 기타 프로세스를 관리하는 지속적인 백그라운드 프로세스입니다.

  • REST API - docker 데몬과 상호 작용하는 응용 프로그램의 API입니다.

  • Docker CLI(클라이언트) - Docker 데몬과 상호 작용하는 명령줄 인터페이스입니다.
  • 응용 프로그램의 Docker 아키텍처



    Docker 구성 요소



    Docker의 컨테이너 순서 및 종속성



    Docker Compose
    상기 순서를 사용하면 "의존"옵션을 통해 서비스의 시작과 종료 순서를 제어할 수 있습니다.항상 의존 순서에 따라 용기를 시작하고 정지합니다. 그 중에서 의존 항목은
    $ depends_on
    $ links
    $ volumes_from
    $ network_mode
    
    services....
    

    I will cover docker-compose in next post along with few more containers (Active-MQ and PostgreSQL).


    Docker 파일(Dockerfile)


  • Dockerfile은 명령줄에서 실행할 수 있는 모든 명령을 작성하여 이미지를 어셈블할 수 있는 텍스트 문서입니다.
  • 사용자는 시스템 라이브러리, 도구 및 기타 파일을 포함하여 여러 개의 이미지를 합성하여 실행 가능한 코드로 만들 수 있다.
  • dockerfile의 장점은 내부에서 작성된 명령을 읽으면 자동으로 그림을 생성하고 명령줄에서 여러 명령을 터치하는 추가 작업량을 줄일 수 있다는 것이다.
  • 배치하다


    1단계: 구축 전
    배포 전 프로세스를 완료하려면 다음 단계를 따르십시오.
  • 사용
  • $ git clone <git-url-here>
    
    주의:git 메모리 라이브러리에 코드가 없으면 복사해서 서버에 붙여넣으십시오.
  • 기본 프로젝트 카탈로그 시작
  • $ cd <your-project-directory>
    
  • 다음 명령을 실행하여 자바 응용 프로그램을 포장합니다
  •  $ mvn clean install –DskipTests
    
    일단 설치와 포장 과정이 성공적으로 끝나면 다음 단계에서 도커 컨테이너화에 대해 알아보겠습니다.
    단계 2: Java 응용 프로그램 컨테이너화

    Create a Dockerfile and write code as given in below image, once completion save Dockerfile to your root folder of your application/project.



    Dockerfile 상세 정보
  • 응용 프로그램 이름에 따라 docker 파일 이름을 업데이트합니다.
    Dockerfile-{your app name here}
  • Docker 렌즈는 기본적인 렌즈로부터 시작합니다. 사용자가 완전히 처음부터 만들 수 있지만 필요하면 처음부터 만들 수 있습니다.
  • Docker는 Dockerfile의 명령을 순서대로 실행합니다.첫 번째 명령은 우리가 그 중에서 구축한 기초 이미지를 지정하기 위해서 와야 한다.
  • Note : Do not run below command if you have any dependency enabled in properties file on any other application (container). In next Post we will cover container dependency using ‘Docker Compose’.

  • 이미지 수립
  • $ docker build -t <IMAGE_NAME>:<TAG>
    
  • 이미지 목록을 보려면:
  • $ docker images ls -a
    
  • 컨테이너를 만들고 실행하려면:
  • $ docker run –p 80:8080 –name <DESIRED_CONTAINER NAME> <IMAGE_NAME>
    
  • 컨테이너의 현재 상태를 보려면:
  • $ 'Run below command to list running containers'
    $ docker ps
    
    $ 'Run below command to list all containers'      
    $ docker ps -a
    
    3단계: Python 응용 프로그램 컨테이너화
    "Dockerfile python"이라는 파일을 만들고 이 파일에 다음 코드를 작성하여 프로젝트/응용 프로그램의 루트 폴더에 저장합니다.

    Note: This code will work with flask based application.



    Docker 파일 세부내용
    응용 프로그램 이름에 따라 docker 파일 이름을 업데이트하려면 다음과 같이 하십시오.

    Dockerfile-{your-app-name-here}
    Docker images start with a base image, although a user can build one entirely from scratch, if desired.


    Docker는 Docker 파일의 명령을 순서대로 실행합니다.첫 번째 명령은 우리가 그 중에서 구축한 기초 이미지를 지정하기 위해서 와야 한다.
    주의: 다른 프로그램 (용기) 의 속성 파일에서 의존항을 사용하면 다음 명령에서 실행하지 마십시오.두 번째 부분에서는 "Docker Compose"를 사용하여 컨테이너 의존성을 논의합니다.
  • 기본 이미지는 여기에 있습니다. 우리는python 3.7.1을python 응용 프로그램의 기본 이미지로 사용합니다.
  • 모든 배치 사용자의 탭은 응용 프로그램 정보를 구분하는 새로운 탭을 제공할 수 있습니다.
  • 환경 설정 응용 프로그램의 환경 변수
  • 요구 사항.txt는 모든 필요한 라이브러리를 파일로 열거합니다. 이 파일은 docker 컨테이너화 과정에서 사용됩니다.
  • 이전 슬라이드
  • 에 설명된 대로 노출
  • docker 용기(Linux 기반)에서 명령을 실행하는 cmd cmd
  • python 응용 프로그램을 위한 Docker 컨테이너를 구축하고 실행합니다.
  • 이미지 수립
  • $ docker build -t <IMAGE_NAME>:<TAG>
    
  • 이미지 목록을 보려면:
  • $ docker images ls -a
    
  • 컨테이너를 만들고 실행하려면:
  • $ docker run –p 5000:5000 –name <DESIRED_CONTAINER NAME> <IMAGE_NAME>
    
  • 컨테이너의 현재 상태를 보려면:
  • $ 'Run below command to list running containers'
    $ docker ps
    
    $ 'Run below command to list all containers'      
    $ docker ps -a
    
    당신의 독서와 시간에 감사 드립니다.정말 고마워요!

    좋은 웹페이지 즐겨찾기