Spring Boot 는 Docker 를 이용 하여 프로젝트 의 전체 절 차 를 빠르게 배치 합 니 다.
11578 단어 springbootdocker배치 하 다.
본문 을 읽 는 것 은 Dokcer 에 대해 좀 이해 하 는 것 이 좋 습 니 다.
일단 Docker 가 뭔 지 알 아 보도 록 하 겠 습 니 다.
Docker 는 Linux 용기 의 패키지 로 간단 하고 사용 하기 쉬 운 용기 사용 인 터 페 이 스 를 제공 합 니 다.그것 은 현재 가장 유행 하 는 Linux 용기 솔 루 션 이다.
Docker 는 프로그램 과 이 프로그램의 의존 도 를 파일 에 압축 합 니 다.이 파일 을 실행 하면 가상 용기 가 생 성 됩 니 다.프로그램 이 이 가상 용기 에서 실행 되 는 것 은 마치 실제 물리 기 에서 실행 되 는 것 과 같다.Docker 가 있 으 면 환경 문 제 를 걱정 할 필요 가 없습니다.
전체적으로 말 하면 Docker 의 인 터 페 이 스 는 상당히 간단 하고 사용 자 는 용 기 를 편리 하 게 만 들 고 사용 하여 자신의 응용 을 용기 에 넣 을 수 있다.용 기 는 일반적인 코드 를 관리 하 는 것 처럼 버 전 관리,복사,공유,수정 도 할 수 있다.
Docker 는 무슨 용도 로 쓰 입 니까?
4.567917.일회 성 환경 제공탄력 적 인 클 라 우 드 서 비 스 를 제공 합 니 다
yum 설치 사용
#
uname -r
# Docker
yum -y install docker
# Docker
service docker start
# hello-world, hello-world , hello-world , 。
docker run hello-world
스 크 립 트 설치:
# yum
sudo yum update
# Docker , docker.repo Docker。
curl -fsSL https://get.docker.com/ | sh
# Docker
sudo service docker start
# docker
sudo docker run hello-world
국내 다운로드 미 러 속도 가 느 리 기 때문에 국내 로 교 체 된 미 러 소스 를 추천 합 니 다.명령 을 집행 하 다
vim /etc/docker/daemon.json
{
"registry-mirrors": ["<your accelerate address>"]
}
2.프로젝트 만 들 기먼저 SpringBoot 프로젝트 를 만 듭 니 다.이 절 차 는 중복 되 지 않 습 니 다.IDEA 구축 이나 방문SpringBoot프로젝트 를 통 해 프로젝트 를 구축 할 수 있 습 니 다.
완전한 프로젝트 구조:
boot-docker
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── bootdocker
│ │ └── BootDockerApplication.java
│ └── resources
│ ├── application.properties
│ ├── static
│ └── templates
그리고 컨트롤 러 를 만 듭 니 다.여 기 는 너무 복잡 하지 않 습 니 다.주로 Docker 가 프로젝트 를 어떻게 배치 하 는 지 보 여 주 는 것 입 니 다.
주 코드:
시작 하고 브 라 우 저 액세스 인터페이스 주소 열기:
프로젝트 가 완료 되 었 습 니 다.지금부터 Docker 에 배치 합 니 다.
3.프로젝트 배치
3.1 Dockerfile 사용
프로젝트 를 배치 하기 전에 Dockerfile 이 무엇 인지 알 아 봐 야 합 니 다.
Dockfile 은 Docker 프로그램 에 의 해 해 해 석 된 스 크 립 트 입 니 다.Dockerfile 은 하나의 명령 으로 구성 되 고 모든 명령 은 Linux 아래 의 명령 에 대응 합 니 다.Docker 프로그램 은 이 Dockerfile 명령 을 실제 Linux 명령 으로 번역 합 니 다.Dockerfile 은 자신 이 작성 한 형식 과 지원 하 는 명령 이 있 습 니 다.Docker 프로그램 은 이 명령 들 간 의 의존 관 계 를 해결 합 니 다.Makefile 과 유사 합 니 다.Docker 프로그램 은 Dockerfile 을 읽 고 명령 에 따라 맞 춤 형 이미 지 를 생 성 합 니 다.image 라 는 블랙박스 보다 Dockerfile 이라는 뻔 한 스 크 립 트 는 사용자 에 게 쉽게 받 아들 여지 고 image 가 어떻게 생 겼 는 지 명확 하 게 보 여 줍 니 다.Dockerfile 이 있 습 니 다.우리 가 추가 적 인 요 구 를 맞 춰 야 할 때 Dockerfile 에 명령 을 추가 하거나 수정 하면 image 를 다시 만 들 면 명령 을 두 드 리 는 번 거 로 움 을 줄 일 수 있 습 니 다레 퍼 런 스
우 리 는 먼저 프로젝트 를 포장 하여 집행 하고 집행 한다.
mvn package
Dockerfile 파일 만 들 기
touch Dockerfile
Dockerfile 에 다음 정 보 를 추가 합 니 다.Dockerfile 은 Jar 와 같은 경로 에 있어 야 합 니 다.
FROM java:8
EXPOSE 8080
VOLUME /slm
ADD boot-docker-0.0.1-SNAPSHOT.jar boot-docker.jar
RUN sh -c 'touch /boot-docker.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /boot-docker.jar" ]
CMD ["ls",''-l"]
CMD ls -l
빌 드 시작:
docker build -t boot-docker .
-t boot-docker 는 당신 이 구축 하고 자 하 는 이름 을 대표 합 니 다.더 많은 매개 변수 입력 보기:
docker build --help
콘 솔 출력:Sending build context to Docker daemon 16.81MB
Step 1/7 : FROM java:8
---> d23bdf5b1b1b
Step 2/7 : EXPOSE 8080
---> Using cache
---> b2445bf62da8
Step 3/7 : VOLUME /slm
---> Using cache
---> b73d0b73b868
Step 4/7 : ADD boot-docker-0.0.1-SNAPSHOT.jar boot-docker.jar
---> Using cache
---> 2b4868aafca9
Step 5/7 : RUN sh -c 'touch /boot-docker.jar'
---> Using cache
---> 816b59f199af
Step 6/7 : ENV JAVA_OPTS=""
---> Using cache
---> 784f033b9dd6
Step 7/7 : ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /boot-docker.jar" ]
---> Using cache
---> 92a0da91ea19
Successfully built 92a0da91ea19
Successfully tagged bootdocker:latest
빌 드 가 완료 되 었 음 을 볼 수 있 습 니 다.Successfully built 92a0da 91ea 19 라 는 말 은 방금 구 축 된 미 러 ID 를 가리 키 고 있 습 니 다.이제 이 ID 에 따라 조작 할 수 있 습 니 다.
run 명령 을 입력 하여 시작 합 니 다.
docker run -d -p 8080:8080 92a0da91ea19
콘 솔 출력:
root@izz30yg92yl9i3z /# docker run -d -p 8080:8080 92a0da91ea19
62b837ac75e3d83a4be2d7b0f6edee5ff70c69a98bac4ff74c7ed6d3e70282ee
root@izz30yg92yl9i3z /#
-d 배경 실행 표시-p 매 핑 포트
인터페이스 에 성공 적 으로 접근 하 였 습 니 다.여기 주의 하 세 요.호스트 의 포트 가 매 핑 되 어 있어 서 호스트 의 IP 포트 에 접근 하 였 습 니 다.
더 많은 매개 변수 입력 보기:
docker build --help
3.2 Maven 구축 사용Dockerfile 로 구축 하 라 고 했 는데 지금 Maven 으로 구축 하고 있 습 니 다.
pom 에 docker 구축 의존 도 를 추가 합 니 다.
<plugin>
<!-- docker maven -->
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- -->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--DokcerFile -->
<dockerDirectory>/slm/</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
dockerDirectory 에 서 는 Dockerfile 파일 의 경 로 를 설정 해 야 합 니까?프로젝트 를 Linux 호스트 에 복사 하여 압축 해제 명령 을 실행 합 니 다.
unzip boot-docker.zip
cd boot-docker
명령 실행:
mvn package docker:build
콘 솔 출력:[INFO] Building image boot-docker/boot-docker
Step 1/7 : FROM java:8
---> d23bdf5b1b1b
Step 2/7 : EXPOSE 8080
---> Using cache
---> b2445bf62da8
Step 3/7 : VOLUME /slm
---> Using cache
---> b73d0b73b868
Step 4/7 : ADD boot-docker-0.0.1-SNAPSHOT.jar boot-docker.jar
---> Using cache
---> 2b4868aafca9
Step 5/7 : RUN sh -c 'touch /boot-docker.jar'
---> Using cache
---> 816b59f199af
Step 6/7 : ENV JAVA_OPTS=""
---> Using cache
---> 784f033b9dd6
Step 7/7 : ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /boot-docker.jar" ]
---> Using cache
---> 92a0da91ea19
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built 92a0da91ea19
Successfully tagged boot-docker/boot-docker:latest
[INFO] Built boot-docker/boot-docker
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.908s
[INFO] Finished at: Wed Jul 10 16:00:21 CST 2019
[INFO] Final Memory: 35M/86M
[INFO] ------------------------------------------------------------------------
위 와 같다.시동 을 걸다
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin Springboot -- 파트 14 사용 사례 REST로 전환하여 POST로 JSON으로 전환前回 前回 前回 記事 の は は で で で で で で を 使っ 使っ 使っ て て て て て リクエスト を を 受け取り 、 reqeustbody で 、 その リクエスト の ボディ ボディ を を 受け取り 、 関数 内部 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.