개발 된 응용 프로그램은 Tomcat과 Postgres가있는 Crud Javaweb의 응용 프로그램입니다.
우리는 한 사람의 단체 만 도메인으로 사용합니다.
교훈적으로 사용하기위한 간단한 응용 프로그램이므로 해결되지 않았습니다.
예를 들어 보안 개념 및 데이터 검증.
우리는 Java 애플리케이션 컨테이너와 용기를 만드는 데만 중점을 둡니다.
Docker가있는 응용 프로그램 데이터베이스.
POS 징계 활동의 해결에 대해 생각
시스템 분석 및 개발 과정
IFPB 캠퍼스 Cajazerias
징계 교수 리카르도 직업
우선 Docker 얻습니다 
도커 다운로드
그러나 배포를 위해 Docker를 사용하므로 Sublime 또는 Notepad ++와 같은 하나의 텍스트 편집기 만 사용할 수 있습니다.





IDE가 코드를 작성하는 데 도움이되는 스타일이 마음에 들면 NetBeans 또는 Eclipse를 사용할 수 있습니다. 

Dockerfile 파일 생성 프로젝트 내에서 postgres 라는 이름의 디렉토리를 생성하고 두 개의 Create.sql 및 insert.sql 파일과 함께 Dockerfile이라는 이름의 Dockerfile 작성하면 곧 해당 콘텐츠에 대해 이야기하겠습니다.
dockerfile 파일에는 다음 내용이 있습니다.
Postgres에서
ENV Postgres_User Postgres
ENV Postgres_Password 12345
ENV Postgres_db Post-Client
CREATE.SQL /Docker-entrypoint-initdb.d/ 복사
복사 insert.sql /docker-entrypoint-initdb.d/
위의 파일에서 알 수 있듯이 Postgres를 설정하고 있습니다.
데이터를 받기 위해 생성 될 은행의 사용자, 비밀번호 및 은행 이름을 나타냅니다.
애플리케이션.
마지막 두 줄에서 우리는 Docker에게 알리고 있습니다.
테이블을 생성하고 insert.sql 생성하는 두 개의 create.sql 파일의 내용을 읽어야합니다.
이는 포스트 클리어 은행에 삽입됩니다.
감각적이지 않습니까?
테이블 페스소 생성 (
직렬 ID,
이름 캐릭터가 다양합니다 (80)
CPF 캐릭터는 다양합니다 (14) NULL,
기본 키 (ID)
);
사람 (이름, CPF) 값에 삽입 ( 'Kiko', '123.132.121-31');
개인 삽입 (이름, CPF) 값 ( '키', '123.132.121-31');
개인 삽입 (이름, CPF) 값 ( 'chiquinha', '123.132.121-31');
개인 삽입 (이름, CPF) 값 ( 'Madruga', '123.132.121-31');
사람 (이름, CPF) 값에 삽입 ( 'Florinda', '123.132.121-31');
docker build -t elefante/banco ./postgres
-t :이 이미지에 할당 할 태그
./postgres
* elefante/banco : 우리가 귀속 한 이미지 이름
위의 명령을 실행 한 후 이미지가없는 경우
Postgres에서 Docker는 물론 자동으로 당신을 준비합니다.
Dockerfile에서 이러한 방식을 설명하기 때문입니다.
docker image ls
또는
docker images
docker run -p 5433:5432 -d --name banco elefante/banco
-p : 컨테이너 문으로 로컬 호스트 도어 사이를 바인딩합니다 -d : 컨테이너는 터미널을 방해하지 않고 배경으로 실행됩니다. --name : banco 컨테이너의 이름 : 컨테이너 이름
위에서 우리는 Postgres에서 5433까지의 게시물을 구성했는데,이 경우 포트였습니다.
Java 애플리케이션에서 구성한 것은 다음과 : 문입니다.
Dockerfile 파일 생성 FROM tomcat
COPY target/Aplicacao.war ${CATALINA_HOME}/webapps
FROM : 우리가 필요한 이미지를 말하십시오
COPY : 배포를 위해 .war 파일을 복사 할 위치에서
${CATALINA_HOME}/webapps : 우리가 영광스러운 파일을 저장할 장소
이 Dockerfile 파일은 프로젝트의 루트 디렉토리 내에 있어야합니다.
이름 Aplicacao 내가 응용 프로그램에 준 금융이라는 점에 주목할 만하다.
pom.xml 내부.
이 이름으로 브라우저에서 시스템을 호출 할 것입니다.
<build>
<finalName>Aplicacao</finalName>
</build>
물론 WEB-INF 폴더 내부에 lib 라는 다른 디렉토리가 있어야합니다.
여기에는 jstl.jar 및 standart.jar 라이브러리가 포함되어 있어야합니다. 그렇지 않으면 우리는
브라우저에서 시스템을 묶을 때 문제.
docker build -t imagem-da-aplicacao-java .
-t :이 이미지에 할당 할 태그
. : dockerfile 파일에 대한 상대 (또는 절대) 경로
위의 명령을 실행 한 후 이미지가없는 경우
Tomcat에서 Docker는 물론 자동으로 당신을 준비 할 것입니다.
문제의 프로젝트 Dockerfile에 대한이 조치를 설명하기 때문입니다.
Tomcat 에서
대상/application.war $ {catalina_home}/webapps를 복사합니다
docker image ls
또는
docker images
docker run -p 8080:8080 -d --name app --link banco:host-banco imagem-da-aplicacao-java
-p : 컨테이너 문으로 로컬 호스트 도어 사이를 바인딩
-d : 컨테이너는 백그라운드에서 실행됩니다* 터미널을 방해하지 않습니다.
--name : 컨테이너 이름
--link : Docker가 Conteiner의 은행을 Dbutil.java 파일의 Java 프로젝트에서 참조 한 호스트 타일에 연결하기 위해
이제 브라우저로 이동하여 프로젝트를 시작하십시오 : http : // localhost : 8080/application
위에서 우리는 Tomcat 포트를 8082로 구성했습니다.
내 경우에도 여전히 Windows에서 Docker Toolbox를 사용하고있는 동안 http://192.168.99.100:8080/application.war/에서 응용 프로그램을 열었습니다.
개발 프로세스를 간소화하기 위해 두 개의 .sh 파일을 생성합니다.
run.sh
run.sh 파일에는 다음 내용이 포함되어야합니다.
Docker Build -t Elephant/Bank ./postgres
Docker Run -P 5433 : 5432 -D -Name Bank Elephant/Bank
MVN 청소 패키지
Docker Build -t-the-aja-java 이미지.
Docker Run -P 8080 : 8080 -D-- 앱 링크 뱅크 : 호스트 Banco Image-DA-A Application-Java
nonrun.sh
Docker Stop 앱
도커 킬 앱
Docker RM 앱
Docker rmi -f 이미지-응용 프로그램 -java
Docker Stop Bank
도커 킬 뱅크
도커 RM 은행
Docker RMI -F Elephant/Bank
이미 이미지와 컨테이너가 생성되었으므로
매번 데이터베이스 이미지를 작성하는 명령을 입력 할 필요는 없습니다.
연락처 컨테이너를 작성한 다음 웹 응용 프로그램의 이미지를 작성하고
프로젝트가 업데이트 된 후 컨테이너.
Docker에서 간단히 열기 :
sh run.sh
한 번에 모든 것을 할 것입니다.
sh nonrun.sh
한 번에 모든 것을 할 것입니다.
Docker는 응용 프로그램 컨테이너를 중지합니다
Docker는 컨테이너를 죽일 것입니다
응용 프로그램 컨테이너를 제거하십시오
Docker 응용 프로그램에서 이미지를 제거합니다
Docker는 Banco Elefante 용기를 멈출 것입니다
Docker는 컨테이너를 죽일 것입니다
은행 컨테이너를 제거하십시오
은행 이미지를 제거하십시오
Maven은 프로젝트를 청소합니다

docker container ls
docker ps -a
docker stop <container_id | container_name>
도커 참조
우리는 git을 사용합니다.