Docker 를 사용 하여 Spring Boot 배치 하기
Docker 기술 의 발전 은 마이크로 서비스 가 정착 하 는 데 더욱 편리 한 환경 을 제공 했다. Docker 를 사용 하여 Spring Boot 를 배치 하 는 것 은 매우 간단 하 다. 이 글 은 우리 가 간단하게 배 울 것 이다.
먼저 간단 한 Spring Boot 프로젝트 를 구축 한 다음 프로젝트 에 Docker 지원 을 추가 하고 마지막 으로 프로젝트 를 배치 합 니 다.
간단 한 Spring Boot 프로젝트
pom. xml 에서 Spring Boot 2.0 관련 의존 도 를 사용 합 니 다.
org.springframework.boot
spring-boot-starter-parent
2.0.0.RELEASE
웹 및 테스트 의존 도 추가
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
Docker Controller 를 만 듭 니 다. index () 방법 이 있 습 니 다. 접근 할 때 돌아 갑 니 다: Hello Docker!
@RestController
public class DockerController {
@RequestMapping("/")
public String index() {
return "Hello Docker!";
}
}
시작 클래스
@SpringBootApplication
public class DockerApplication {
public static void main(String[] args) {
SpringApplication.run(DockerApplication.class, args);
}
}
추가 완료 후 시작 항목, 시작 성공 후 브 라 우 저 질문:http://localhost:8080/, 페이지 반환: Hello Docker!,Spring Boot 프로젝트 설정 이 정상 임 을 설명 합 니 다.
Spring Boot 항목 에 Docker 지원 추가
pom. xml - properties 에 Docker 미 러 이름 추가
springboot
plugins 에 Docker 빌 드 플러그 인 추가:
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
1.0.0
${docker.image.prefix}/${project.artifactId}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
디 렉 터 리 src / main / docker 에서 Dockerfile 파일 을 만 듭 니 다. Dockerfile 파일 은 미 러 를 만 드 는 방법 을 설명 합 니 다.
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD spring-boot-docker-1.0.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
이 Dockerfile 파일 은 매우 간단 합 니 다. Jdk 기반 환경 을 구축 하고 Spring Boot Jar 를 미 러 에 추가 하여 간단하게 설명 합 니 다.
이렇게 Spring Boot 프로젝트 에 Docker 의존 도 를 추가 하면 완 료 됩 니 다.
포장 환경 구축
우 리 는 Spring Boot 프로젝트 를 포장 하기 위해 Docker 환경 이 필요 합 니 다. Windows 에서 Docker 환경 을 구축 하 는 것 은 매우 번 거 롭 기 때문에 저 는 Centos 7 을 예 로 들 겠 습 니 다.
Docker 환경 설치
yum install docker
설치 가 완료 되면 아래 명령 을 사용 하여 docker 서 비 스 를 시작 하고 이 를 시작 으로 설정 합 니 다.
ervice docker start
chkconfig docker on
#LCTT : sysv , CentOS 7 systemd , :
systemctl start docker.service
systemctl enable docker.service
Docker 중국 가속기 사용 하기
vi /etc/docker/daemon.json
# :
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
docker 다시 시작
systemctl restart docker
docker version 을 입력 하면 버 전 정 보 를 되 돌려 줍 니 다.
JDK 설치
yum -y install java-1.8.0-openjdk
환경 변 수 를 설정 하여 vim / etc / profile 을 열 고 내용 을 추가 합 니 다.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
export PATH=$PATH:$JAVA_HOME/bin
수정 완료 후 효력 발생
source /etc/profile
자바 - version 반환 버 전 정 보 를 입력 하면 정상적으로 설 치 됩 니 다.
MAVEN 다운로드 설치:http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
##
tar vxf apache-maven-3.5.2-bin.tar.gz
##
mv apache-maven-3.5.2 /usr/local/maven3
환경 변 수 를 수정 하고 / etc / profile 에 다음 줄 을 추가 합 니 다.
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
source / etc / profile 을 실행 하여 환경 변 수 를 유효 하 게 합 니 다.
화면 음악 n - version 을 입력 하면 버 전 정 보 를 되 돌려 줍 니 다.
이렇게 하면 전체 구축 환경 설정 이 완성 된다.
Docker 를 사용 하여 Spring Boot 프로젝트 배치 하기
프로젝트 spring - boot - docker 복사 서버 에서 프로젝트 경로 에 들 어가 포장 테스트 를 진행 합 니 다.
#
mvn package
#
java -jar target/spring-boot-docker-1.0.jar
Spring Boot 의 시작 로 그 를 보고 환경 설정 에 문제 가 없 음 을 나타 내 고 DockerFile 로 미 러 를 구축 합 니 다.
mvn package docker:build
첫 번 째 구축 은 느 릴 수 있 습 니 다. 다음 과 같은 내용 을 볼 때 구축 성공 을 나타 냅 니 다.
...
Step 1 : FROM openjdk:8-jdk-alpine
---> 224765a6bdbe
Step 2 : VOLUME /tmp
---> Using cache
---> b4e86cc8654e
Step 3 : ADD spring-boot-docker-1.0.jar app.jar
---> a20fe75963ab
Removing intermediate container 593ee5e1ea51
Step 4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
---> Running in 85d558a10cd4
---> 7102f08b5e95
Removing intermediate container 85d558a10cd4
Successfully built 7102f08b5e95
[INFO] Built springboot/spring-boot-docker
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 54.346 s
[INFO] Finished at: 2018-03-13T16:20:15+08:00
[INFO] Final Memory: 42M/182M
[INFO] ------------------------------------------------------------------------
docker images 명령 으로 구 축 된 미 러 보기:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot/spring-boot-docker latest 99ce9468da74 6 seconds ago 117.5 MB
springboot / spring - boot - docker 는 우리 가 구축 한 미 러 입 니 다. 다음 단 계 는 이 미 러 를 실행 하 는 것 입 니 다.
docker run -p 8080:8080 -t springboot/spring-boot-docker
시작 이 끝 난 후에 우 리 는 docker ps 를 사용 하여 실행 중인 미 러 를 봅 니 다:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
049570da86a9 springboot/spring-boot-docker "java -Djava.security" 30 seconds ago Up 27 seconds 0.0.0.0:8080->8080/tcp determined_mahavira
우리 가 구축 한 용기 가 실행 중인 것 을 볼 수 있 습 니 다. 브 라 우 저 에 접근 하 십시오.http://192.168.0.x:8080/, 반환: 안녕하세요 Docker!
Docker 를 사용 하여 Spring Boot 프로젝트 를 성공 적 으로 배 치 했 음 을 설명 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swarm의 도커 비밀이 게시물에서는 Redis를 사용한 실제 시나리오 예제를 제공하여 사용 방법을 보여주고자 합니다. Docker 기술에 대한 기본 지식 Docker Swarm 오케스트레이터에 대한 기본 지식 "Docker Swarm ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.