최종 효과는 다음과 같습니다
대략 몇 단계가 있습니다
1. Docker CE 설치 설치 2. REDIS 이미지 실행 3. Java 환경 준비 4. 프로젝트 준비 5. Dockerfile 작성 6. 릴리스 프로젝트 7. 테스트 서비스
환경 준비
1. Docker CE를 설치하십시오
중국에서는 사용하지 마십시오 : "설치 용 스크립트"는 매우 느리게 다운로드 및 설치됩니다. 1 단계를 사용하여 설치하고 다음 링크를 참조하십시오. 일반 설치 방법
1. 정기적 인 설치 방법
우분투 17.04 x64 설치 Docker CE
http://www.ymq.io/2018/01/11/docker-install-docker-ce
2. 스크립트를 설치하십시오
국내 설치에는 스크립트가 권장되지 않습니다.
Docker CE를 설치하십시오
$ curl -fssl get.docker.com -o get -docker.sh $ sudo sh get -docker.sh
<output truncated> Docker를 뿌리가 아닌 사용자로 사용하려면 다음과 같은 내용을 사용하여 Docker를 "Docker"그룹으로 고려해야합니다. Sudo usermod -Ag Docker your-userremember를 적극하기 위해 로그 아웃하고 돌아와야합니다. 자세한 내용은 https://docs.docker.com/engine/security/security/security/security/security/security/security를 참조하십시오.
Docker CE를 확인하십시오
Hello-World 이미지를 실행하여 Docker CE가 올바르게 설치되어 있는지 확인하십시오.
$ sudo docker run hello-worldroot@souyunku : ~# sudo docker imagesrepository 태그 이미지 ID 생성 된 sizehello-world 최신 F2A91732366C 7 주 전 1.85KB
2. Redis 이미지를 실행하십시오
1. 거울을 실행하십시오
$ docker run --- 이름 Redis -6379 -P 6379 : 6379 -D 이미지 'redis : 최신'로컬 레이트 테스트 : Library/readisc4bb02b17bb4에서 당기기/readisup4f67c5 : 풀 완료 F98D108CC38B : PULL COMPLETET 83BE14FCCB07 : 5D5F41793421 : 완전한 ED89FF0D9EB2 : 완전한 다이제스트를 당기십시오 : SHA256 : 0E773022CD6572A5153E5013AFCED0F7191652D3CDF9B1C6785EB13F6B2974B1STATUS : 신선한 이미지를 다운로드하십시오. REDIS : 최신 2F1F20F672E386A61644E1C08232EA34BDFD6A0C244B55FA833FCFD6DD207288
2. 거울을 확인하십시오
거울을 봅니다
root@souyunku : ~# docker image redisrepository 태그 이미지 ID 생성 된 sizeredis 최신 1e70071f4af4 4 주 전 107MB
거울 과정을보십시오
root@souyunku : ~# docker pscontainer id 이미지 명령 생성 상태 포트 이름 2f1f20f672e3 redis "docker-entrypoint.s ..."14 초 전 0.0.0.0:6379->6379/tcp redis-6379
컨테이너 프로세스를보십시오
root@souyunku : ~# docker 컨테이너 pscontainer id 이미지 명령 생성 상태 포트 이름 2f1f20f672e3 redis "docker-entrypoint.s ..."7 분 전 0.0.0 : 6379-> 6379/tcp redis-6379
3. Redis 서비스를 테스트하십시오
Redis-Cli를 통해 Redis 서비스에 연결하여 상점 데이터를 테스트하십시오.
root@souyunku : ~# docker run -it -link redis -6379 : redis -rm redis redis -cli -h redis -p 6379redis : 6379> 세트 count 1okredis : 6379> count "1"redis : 6379> exitroot@souyunku : ~#
3. Java 환경 준비
참고 : 다음 단계를 읽으십시오! ! !
1. Java 환경은 Github Maven Springboot 샘플 프로젝트를 컴파일하고 준비하는 것입니다.
2. 또는 직접 로컬로 컴파일하고 업로드 할 수 있습니다. 그런 다음 JDK, Maven, Git 및 다음 Java 환경을 설치하면 구성없이 수행 할 수 있습니다.
1. JDK를 설치하십시오
JDK 메소드 다운로드 : 1
Linux 환경에서 JDK1.8 다운로드, (공식 웹 사이트)로 이동하여 JDK 설치 파일을 다운로드하십시오.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
JDK 메소드 다운로드 : 2
바이두 클라우드 디스크의 링크 : http://pan.baidu.com/s/1jifzf9s 비밀번호 : U4N4
JDK 메소드 다운로드 : 3
wget을 사용하여 다운로드하고
$ wget-no-cookies-no-Check-certificate-header "쿠키 : gpw_e24 = http%3a%2f%2fwww.oracle.com%2f; oraclelicense = accept-securebackup-cookie" http://download.oracle.com/otn-pub/jva/jdk/8u141-b15/336fa29ff2bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
사용하는 경우 : JDK 메소드를 다운로드하십시오. 3
그런 다음 다음 단계에서 JDK1.8.0_144는 JDK1.8.0_141로 대체됩니다.
설치를 시작하십시오
/opt 디렉토리를 업로드하십시오
감압
$ cd /opt $ tar zxvf jdk-8u144-linux-x64.tar.gz $ mv jdk1.8.0_144 / /lib /jvm
환경 변수를 구성합니다
$ vi/etc/profile#jdkeexport java_home =/lib/jvmexport jre_home = $ {java_home}/jre Export classpath =. : $ {java_home}/lib : $ {jre_home}/lib 내보내기 경로 = $ {java_home}/bin : $ path환경 변수를 효과적으로 만듭니다
$ source /etc /profile
확인하다
root@souyunku : ~# java -versionjava 버전 "1.8.0_141"Java (TM) SE 런타임 환경 (빌드 1.8.0_141-B15) Java 핫스팟 (TM) 64 비트 서버 VM (빌드 25.141-B15, Mixed Mode)
2. Maven을 설치하십시오
$ apt-get 설치 Maven
Maven을 확인하십시오
root@souyunku : ~# mvn -vapache maven 3.3.9maven home :/usr/share/mavenjava 버전 : 1.8.0_141, 공급 업체 : Oracle Corporationjava home :/lib/jvm/jredefault locale : en_us, 플랫폼 엔코딩 : "Linux" "AMD64", 가족 : "유닉스"
3. git을 설치하십시오
$ apt-get 설치 git
Maven을 확인하십시오
root@souyunku : ~# git -versiongit 버전 2.11.0
4. 프로젝트 준비
1. 프로젝트를 컴파일하십시오
1. 서버 Maven에서 프로젝트를 직접 컴파일하십시오.
Git을 사용하여 프로젝트를 복제하십시오
$ git 클론 https://github.com/souyunku/other-projects.git
Maven을 사용하여 프로젝트를 컴파일하십시오
$ CD 기타 프로젝트/Docker-Spring-Boot-Demo/
2. 프로젝트 수정
Redis 서버 주소 Spring.Redis.host = 45.32.44.217을 로컬 IP로 수정하십시오. Redis 이미지를 실행할 때 Redis는 외부 네트워크 서비스 0.0.0.0:6379->6379/tcp로 만들어졌습니다.
$ vi src/main/resources/application.properties# redis server 주소 spring.Redis.host = 45.32.44.217 $ mvn 패키지
Docker-Spring-Boot-Demo-0.0.1-SnapShot.jar 프로젝트를 대상 / 디렉토리의 / opt 디렉토리에 복사하면 나중에 사용됩니다.
$ CP Target/Docker-Spring-Boot-Demo-0.0.1-SnapShot.jar/Opt/
2. 로컬 Maven에서 프로젝트를 컴파일하고 /OPT 디렉토리에 업로드하면 나중에 사용됩니다.
Application.Properties의 Redis 서버 주소를 수정하십시오
기타 프로젝트/Docker-Spring-Boot-Demo/SRC/Main/Resources/Application.Properties# Redis Server 주소 Spring.Redis.host = 45.32.44.217
5. dockerfile을 쓰십시오
Java를 기반으로 Dockerfile 작성 : 8 이미지
$ cd /opt /$ touch dockerfile $ vi dockerfile
편집 된 내용은 다음과 같습니다
# Java의 어느 이미지를 기반으로 : 8# 로컬 폴더를 현재 컨테이너 볼륨 /TMP에 마운트하십시오. 파일을 컨테이너에 복사하거나 Docker-Spring-Boot-Demo-0.0.1-SnapShot.jar /souyunku-App을 추가하여 직접 작성하십시오. 't
VI. 프로젝트를 게시하십시오
1. 이미지를 컴파일하십시오
$ cd /opt /$ docker build -t souyunku -app : v1.
다음 정보를 보는 것은 Dockerfile이 나쁘지 않으며 이미지가 성공적으로 컴파일되었음을 증명합니다.
Docker 데몬 18.72mbstep에 빌드 컨텍스트 전송 1/6 : Java : 88 : Library/Java5040BD298390 : 완전한 FCE5728AAD85에서 당기기 FCE5728AAD85 : 완료 전체 76610EC20BF5 : PULL COMPLETE 60170FEC2151 : PULL COMPLETE E98F73DE8F0D : PULL COMPLETE 11F7AF24EDER 49E2D6393F32 : 완전한 BB9CDEC9C7F3 : 완전한 다이제스트를 당기십시오 : SHA256 : SHA256 : C1FF613E8BA25833D2E1940DA0940C3824F03F802C449F3D1815A66B7F8C0E9DSTATUS :----- 최신의 최신 이미지. D23BDF5B1B1BSTEP 2/6 : VOLUME/TMP ---> 0559A62B0CD5에서 실행중인 중간 컨테이너 0559A62B0CD5 ---> B1F3846913A4STEP 3/6 : Docker-Spring-BBOOT-DEMOO0.0.1-SOUTHOT.JAR ADAP.JARTOP.JARCHOT. ---> 9F60DAD5D2ACSTEP 4/6 : BASH -C -C 'TOUCH /SOUNUNKU-APP.JAR'를 실행하십시오. 39D5C09AB614에서 실행중인 중간 컨테이너 39D5C09AB614 ---> 2B691ADF7922STEP 5/6 :-> 11A57437A2에서 실행하십시오. 중간 컨테이너 11a577437a23 ---> 78815d6fe6b2step 6/6 : EntryPoint [ "Java", "-djava.security.egd = file :/dev /./ urandom", "-jar", "/souyunku-app.egd = 파일", "/souyunku-app.egd = file :/dev/. ECA10FED3D02 ---> 8EC4E85A0F05Successly 빌드 8ec4e85a0f05successly 태그 Souyunku-App : v1
2. 거울을 봅니다
root@souyunku :/opt# docker image souyunku-apprepository 태그 이미지 ID 생성 된 크기 크기 쿠 쿠-애플 v1 8ec4e85a0f05 2 분 전 681MB
3. 거울을 실행하십시오
배경 데몬이 실행되고 컨테이너 포트를 외부 네트워크 포트 80에 매핑합니다.
root@souyunku :/opt# docker run -name myspringboot -d -p 80:80 souyunku -app : v1e68d438603619e363883d4eae65d3918e1c3e00f86731207bccf06f564
4. 프로세스를보십시오
컨테이너 프로세스를 확인하면 Redis가 포트 6379에 있고 MySpringBoot 프로젝트가 포트 80에 있는지 확인할 수 있습니다.
root@souyunku :/opt# docker 컨테이너 pscontainer id image image 명령 생성 상태 포트 namese68d43860361 souyunku-app : v1 "java -djava.securit ..."약 1 분 전에 약 0.0.0.0.0:80-80/TCP MySpringboot0f9646171edd "Docker-entrypoint.s ..."39 분 전 39 분 0.0.0:6379->6379/tcp redis-6379
7. 테스트 서비스
브라우저 액세스 : http://127.0.0.1/, 물론 127.0.0.1을 입력하지 않았습니다. 서버에서 직접했고 공개 IP를 사용했습니다.
Docker Compose
Docker Compose는 공식 Docker Orchestration 프로젝트 중 하나이며, 클러스터에 분산 응용 프로그램을 신속하게 배포 할 책임이 있습니다.
Docker 컨테이너를 사용하는 응용 프로그램은 일반적으로 여러 컨테이너로 구성됩니다. Docker Compose를 사용하면 더 이상 쉘 스크립트를 사용하여 컨테이너를 시작할 필요가 없습니다. 구성 파일에서 모든 컨테이너는 서비스에 의해 정의 된 다음 Docker-Compose 스크립트를 사용하여 응용 프로그램의 서비스 및 서비스 및 서비스에 의존하는 모든 컨테이너를 시작, 중지 및 다시 시작합니다.
요약
위는 편집자가 소개 한 Docker Deployment SpringBoot 프로젝트의 예제 코드입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!