부두 컨테이너화. 제1부분
개술
이 글은 Docker와 서로 다른 언어 (자바와 Python) 로 개발된 프로그램을 배치하는 방법에 대해 알고 있습니다. 시작하기 전에 자바나 Python의 실천 경험이 있는지 확인하십시오. 이 글은 로컬 컴퓨터에서 실행되는 프로그램에 배치할 것입니다.
디자인 모드:
단일 구조는 응용 프로그램을 구축하는 전통적인 방식으로 여겨진다.단일 응용 프로그램은 다른 계산 응용 프로그램과 독립적으로 포함되어 있다.
마이크로 서비스 체계 구조는 일종의 체계 구조 스타일로 마이크로 서비스는 하나의 응용 프로그램을 일련의 비교적 작은 독립 단원으로 분해한다. 이것은-
무엇이 컨테이너입니까?
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)
배치하다
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 상세 정보
Dockerfile-{your app name here}
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"를 사용하여 컨테이너 의존성을 논의합니다.
$ 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
당신의 독서와 시간에 감사 드립니다.정말 고마워요!
Reference
이 문제에 관하여(부두 컨테이너화. 제1부분), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jitendra/docker-containerization-part-1-4gn2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)