데이터 베이스 Redis Docker가 SpringBoot 프로젝트를 배포하고 액세스 계산을 위해 Redis 이미지를 통합하는 방법

Docker가 SpringBoot 프로젝트를 배포하고 액세스 계산을 위해 Redis 이미지를 통합하는 방법

Jun 02, 2023 am 10:37 AM
redis docker springboot

최종 효과는 다음과 같습니다

Docker가 SpringBoot 프로젝트를 배포하고 액세스 계산을 위해 Redis 이미지를 통합하는 방법

몇 단계 소개

1. Docker CE 설치 2. Redis 이미지 실행 3. Java 환경 준비 4. 프로젝트 준비 5. Dockerfile 작성 6. 프로젝트 출시 7. 서비스 테스트

환경 준비

  • 시스템: Ubuntu 17.04 x64

  • Docker 17.12.0-ce

  • IP: 45.32.31.101

1. Docker CE 설치

사용을 권장하지 않음 중국: " "설치 스크립트", 다운로드 및 설치가 매우 느립니다. 설치하려면 1단계를 사용하세요. 아래 링크를 참조하세요. 기존 설치 방법

1. 기존 설치 방법

Ubuntu 17.04 x64 Docker CE 설치

2. 설치 스크립트

국내 설치에는 권장되지 않는 스크립트:

Docker CE 설치

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
로그인 후 복사
<output>
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
 sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
 containers which can be used to obtain root privileges on the
 docker host.
 Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
 for more information.</output>
로그인 후 복사

Docker CE 확인

hello-world 이미지를 실행하여 Docker CE가 올바르게 설치되었는지 확인하세요

$ sudo docker run hello-world
root@souyunku:~# sudo docker images
REPOSITORY TAG  IMAGE ID CREATED SIZE
hello-world latest f2a91732366c 7 weeks ago 1.85kB
로그인 후 복사

두 번째, Redis 이미지를 실행합니다

1. 이미지를 실행합니다

$ docker run --name redis-6379 -p 6379:6379 -d redis
Unable to find image 'redis:latest' locally
latest: Pulling from library/redis
c4bb02b17bb4: Pull complete 
58638acf67c5: Pull complete 
f98d108cc38b: Pull complete 
83be14fccb07: Pull complete 
5d5f41793421: Pull complete 
ed89ff0d9eb2: Pull complete 
Digest: sha256:0e773022cd6572a5153e5013afced0f7191652d3cdf9b1c6785eb13f6b2974b1
Status: Downloaded newer image for redis:latest
2f1f20f672e386a61644e1c08232ea34bdfd6a0c244b55fa833fcfd6dd207288
로그인 후 복사

2. 이미지를 확인합니다

이미지 보기

root@souyunku:~# docker images redis
REPOSITORY TAG  IMAGE ID CREATED SIZE
redis latest 1e70071f4af4 4 weeks ago 107MB
로그인 후 복사

이미지 프로세스 보기

root@souyunku:~# docker ps
CONTAINER ID IMAGE COMMAND  CREATED STATUS PORTS  NAMES
2f1f20f672e3 redis "docker-entrypoint.s…" 14 seconds ago Up 14 seconds 0.0.0.0:6379->6379/tcp redis-6379
로그인 후 복사

컨테이너 프로세스 보기

root@souyunku:~# docker container ps
CONTAINER ID IMAGE COMMAND  CREATED STATUS PORTS  NAMES
2f1f20f672e3 redis "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 0.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 6379
redis:6379> set count 1
OK
redis:6379> get count
"1"
redis:6379> exit
root@souyunku:~#
로그인 후 복사

3. Java 환경 준비

참고: 다음 단계를 읽어보세요! ! !

1. Java 환경은 Github Maven SpringBoot 샘플 프로젝트를 컴파일하고 준비하기 위한 것입니다

2. 또는 로컬로 컴파일하여 업로드할 수도 있습니다. 그런 다음 Jdk, Maven, Git을 설치하면 됩니다. 구성할 필요가 없습니다

1. Jdk 설치

JDK 다운로드 방법: 1

Linux 환경에서 jdk1.8을 다운로드하세요. jdk 설치 파일을 다운로드하려면 (공식 홈페이지)

http://www. oracle.com/technetwork/java/javase /downloads/jdk8-downloads-2133151.html

JDK 다운로드 방법: 2

Baidu Cloud Disk의 내 링크: http://pan.baidu.com/s/1jIFZF9s 비밀번호: u4n4

JDK 방법 다운로드:3

wget을 사용하여 다운로드하세요.

$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
로그인 후 복사

참고, 사용하는 경우: JDK 방법 다운로드: 3

그런 다음 다음 단계에서 jdk1.8.0_144를 jdk1.8.0_141

Start로 바꾸세요. 설치

/opt 디렉터리에 업로드

Unzip

$ cd /opt
$ tar zxvf jdk-8u144-linux-x64.tar.gz
$ mv jdk1.8.0_144/ /lib/jvm
로그인 후 복사

환경 변수 구성

$ vi /etc/profile
#jdk
export JAVA_HOME=/lib/jvm
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH
로그인 후 복사

환경 변수를 유효하게 만들기

$ source /etc/profile
로그인 후 복사

Verify

root@souyunku:~# java -version
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
로그인 후 복사

2. Maven 설치

$ apt-get install maven
로그인 후 복사

Maven 확인

root@souyunku:~# mvn -v
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 1.8.0_141, vendor: Oracle Corporation
Java home: /lib/jvm/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.10.0-35-generic", arch: "amd64", family: "unix"
로그인 후 복사

3.

$ apt-get install git
로그인 후 복사

Maven 확인

root@souyunku:~# git --version
git version 2.11.0
로그인 후 복사

4. 프로젝트 준비

1. 프로젝트를 컴파일하세요

1. Maven 서버에서 직접 프로젝트를 컴파일하세요

git을 사용하여 프로젝트를 복제하세요

$ git clone https://github.com/souyunku/other-projects.git
로그인 후 복사

maven을 사용하여 프로젝트를 컴파일하세요

$ cd other-projects/docker-spring-boot-demo/
로그인 후 복사

2. 프로젝트 수정

Redis 서버 주소 spring.redis.host=45.32.44.217, 즉 Redis 이미지 실행 시 Redis가 외부 네트워크 서비스 0.0.0.0:6379로 수정되었습니다. ->6379/tcp

$ vi src/main/resources/application.properties
# Redis服务器地址
spring.redis.host=45.32.44.217
$ mvn package
로그인 후 복사

target/ 디렉토리 0.0.1-SNAPSHOT.jar 프로젝트의 docker-spring-boot-demo-를 /opt 디렉토리에 복사합니다. 나중에 사용됩니다

$ cp target/docker-spring-boot-demo-0.0.1-SNAPSHOT.jar /opt/
로그인 후 복사

2. Maven으로 복사한 후 /opt 디렉터리에 업로드하세요. 나중에 사용됩니다

application.properties의 Redis 서버 주소를 수정하세요.

other-projects/docker-spring-boot-demo/src/main/resources/application.properties
# Redis服务器地址
spring.redis.host=45.32.44.217
로그인 후 복사

다섯째, Dockerfile을 작성하세요

java:8 이미지를 기반으로 Dockerfile을 작성하세요.

$ cd /opt/
$ touch Dockerfile
$ vi Dockerfile
로그인 후 복사

수정된 내용은 다음과 같습니다

# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,也可以直接写成ADD docker-spring-boot-demo-0.0.1-SNAPSHOT.jar /souyunku-app.jar
ADD docker-spring-boot-demo-0.0.1-SNAPSHOT.jar souyunku-app.jar
RUN bash -c 'touch /souyunku-app.jar'
# 开放80端口
EXPOSE 80
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/souyunku-app.jar"]
로그인 후 복사

여섯번째, 프로젝트를 게시합니다

1. 이미지를 컴파일합니다

$ cd /opt/
$ docker build -t souyunku-app:v1 .
로그인 후 복사

다음 내용을 참고하세요. 이는 Dockerfile이 올바르게 작성되었으며 이미지가 성공적으로 컴파일되었음을 증명합니다

Sending build context to Docker daemon 18.72MB
Step 1/6 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/6 : VOLUME /tmp
 ---> Running in 0559a62b0cd5
Removing intermediate container 0559a62b0cd5
 ---> b1f3846913a4
Step 3/6 : ADD docker-spring-boot-demo-0.0.1-SNAPSHOT.jar souyunku-app.jar
 ---> 9f60dad5d2ac
Step 4/6 : RUN bash -c 'touch /souyunku-app.jar'
 ---> Running in 39d5c09ab614
Removing intermediate container 39d5c09ab614
 ---> 2b691adf7922
Step 5/6 : EXPOSE 80
 ---> Running in 11a577437a23
Removing intermediate container 11a577437a23
 ---> 78815d6fe6b2
Step 6/6 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/souyunku-app.jar"]
 ---> Running in eca10fed3d02
Removing intermediate container eca10fed3d02
 ---> 8ec4e85a0f05
Successfully built 8ec4e85a0f05
Successfully tagged souyunku-app:v1
로그인 후 복사

2. 이미지 보기

root@souyunku:/opt# docker images souyunku-app
REPOSITORY TAG  IMAGE ID CREATED SIZE
souyunku-app v1  8ec4e85a0f05 2 minutes ago 681MB
로그인 후 복사

3. 이미지 실행

백그라운드 데몬이 실행된 후 컨테이너 포트를 외부 네트워크 포트 80

root@souyunku:/opt# docker run --name MySpringBoot -d -p 80:80 souyunku-app:v1
e68d438603619e363883d4eae65d3918e1c3e00f867731207bccf06f5690dc64
로그인 후 복사
에 매핑합니다.

4. 프로세스 보기

컨테이너 프로세스를 볼 수 있습니다. redis는 포트 6379에 있고 MySpringBoot 프로젝트는 포트 80

root@souyunku:/opt# docker container ps
CONTAINER ID IMAGE COMMAND  CREATED STATUS PORTS  NAMES
e68d43860361 souyunku-app:v1 "java -Djava.securit…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp MySpringBoot
0f9646171edd redis "docker-entrypoint.s…" 39 minutes ago Up 39 minutes 0.0.0.0:6379->6379/tcp redis-6379
로그인 후 복사

7에 있습니다. 테스트 서비스

브라우저 액세스: http://127.0.0.1/, 물론 127.0.0.1을 입력하지 않았습니다. 공용 IP를 사용하여 서버에서 직접 수행했습니다.

Docker Compose

Docker Compose는 Docker의 공식 오케스트레이션 프로젝트 중 하나이며 클러스터에 분산 애플리케이션을 빠르게 배포하는 역할을 합니다.

Docker 컨테이너를 사용하는 애플리케이션은 일반적으로 여러 컨테이너로 구성됩니다. Docker Compose 를 사용하면 더 이상 컨테이너를 시작하기 위해 셸 스크립트를 사용할 필요가 없습니다. 구성 파일에서 모든 컨테이너는 서비스로 정의된 다음 docker-compose 스크립트를 사용하여 애플리케이션, 애플리케이션의 서비스 및 서비스에 의존하는 모든 컨테이너를 시작, 중지 및 다시 시작합니다.

위 내용은 Docker가 SpringBoot 프로젝트를 배포하고 액세스 계산을 위해 Redis 이미지를 통합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11 10.0.22000.100 설치 시 발생하는 0x80242008 오류 해결 방법 Windows 11 10.0.22000.100 설치 시 발생하는 0x80242008 오류 해결 방법 May 08, 2024 pm 03:50 PM

1. [시작] 메뉴를 시작하여 [cmd]를 입력하고 [명령 프롬프트]를 마우스 오른쪽 버튼으로 클릭한 후 [관리자 권한으로 실행]을 선택합니다. 2. 다음 명령을 순서대로 입력합니다(주의 깊게 복사하여 붙여넣기): SCconfigwuauservstart=auto, Enter SCconfigbitsstart=auto, Enter 누르기 SCconfigcryptsvcstart=auto, Enter SCconfigtrustedinstallerstart=auto, Enter SCconfigwuauservtype=share, Enter netstopwuauserv , Enter netstopcryptS 누르기

PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? PI 노드 교육 : PI 노드 란 무엇입니까? Pi 노드를 설치하고 설정하는 방법은 무엇입니까? Mar 05, 2025 pm 05:57 PM

Pinetwork 노드에 대한 자세한 설명 및 설치 안내서이 기사에서는 Pinetwork Ecosystem을 자세히 소개합니다. Pi 노드, Pinetwork 생태계의 주요 역할을 수행하고 설치 및 구성을위한 전체 단계를 제공합니다. Pinetwork 블록 체인 테스트 네트워크가 출시 된 후, PI 노드는 다가오는 주요 네트워크 릴리스를 준비하여 테스트에 적극적으로 참여하는 많은 개척자들의 중요한 부분이되었습니다. 아직 Pinetwork를 모른다면 Picoin이 무엇인지 참조하십시오. 리스팅 가격은 얼마입니까? PI 사용, 광업 및 보안 분석. Pinetwork 란 무엇입니까? Pinetwork 프로젝트는 2019 년에 시작되었으며 독점적 인 Cryptocurrency Pi Coin을 소유하고 있습니다. 이 프로젝트는 모든 사람이 참여할 수있는 사람을 만드는 것을 목표로합니다.

PHP 마이크로서비스 컨테이너화의 민첩한 개발 및 운영 PHP 마이크로서비스 컨테이너화의 민첩한 개발 및 운영 May 08, 2024 pm 02:21 PM

답변: PHP 마이크로서비스는 민첩한 개발을 위해 HelmCharts로 배포되고 격리 및 확장성을 위해 DockerContainer로 컨테이너화됩니다. 자세한 설명: HelmCharts를 사용하여 PHP 마이크로서비스를 자동으로 배포하여 민첩한 개발을 달성하세요. Docker 이미지를 사용하면 마이크로서비스의 신속한 반복 및 버전 제어가 가능합니다. DockerContainer 표준은 마이크로서비스를 격리하고 Kubernetes는 컨테이너의 가용성과 확장성을 관리합니다. Prometheus 및 Grafana를 사용하여 마이크로서비스 성능 및 상태를 모니터링하고 경보 및 자동 복구 메커니즘을 생성하세요.

DeepSeek을 설치하는 방법 DeepSeek을 설치하는 방법 Feb 19, 2025 pm 05:48 PM

Docker 컨테이너를 사용하여 사전 컴파일 된 패키지 (Windows 사용자의 경우)를 사용하여 소스 (숙련 된 개발자)를 컴파일하는 것을 포함하여 DeepSeek를 설치하는 방법에는 여러 가지가 있습니다. 공식 문서는 신중하게 문서를 작성하고 불필요한 문제를 피하기 위해 완전히 준비합니다.

PHP 개발의 캐싱 메커니즘 및 응용 실습 PHP 개발의 캐싱 메커니즘 및 응용 실습 May 09, 2024 pm 01:30 PM

PHP 개발에서 캐싱 메커니즘은 자주 액세스하는 데이터를 메모리나 디스크에 임시 저장하여 데이터베이스 액세스 횟수를 줄여 성능을 향상시킵니다. 캐시 유형에는 주로 메모리, 파일 및 데이터베이스 캐시가 포함됩니다. 캐싱은 내장 함수나 캐시_get() 및 Memcache와 같은 타사 라이브러리를 사용하여 PHP에서 구현할 수 있습니다. 일반적인 실제 응용 프로그램에는 쿼리 성능을 최적화하기 위한 데이터베이스 쿼리 결과 캐싱과 렌더링 속도를 높이기 위한 페이지 출력 캐싱이 포함됩니다. 캐싱 메커니즘은 웹사이트 응답 속도를 효과적으로 향상시키고, 사용자 경험을 향상시키며, 서버 부하를 줄입니다.

PHP CI/CD를 사용하여 빠르게 반복하는 방법은 무엇입니까? PHP CI/CD를 사용하여 빠르게 반복하는 방법은 무엇입니까? May 08, 2024 pm 10:15 PM

답변: CI/CD 파이프라인 설정, 자동화된 테스트 및 배포 프로세스를 포함하여 빠른 반복을 달성하려면 PHPCI/CD를 사용하십시오. CI/CD 파이프라인 설정: CI/CD 도구를 선택하고, 코드 저장소를 구성하고, 빌드 파이프라인을 정의합니다. 자동화된 테스트: 단위 및 통합 테스트를 작성하고 테스트 프레임워크를 사용하여 테스트를 단순화합니다. 실제 사례: TravisCI 사용: TravisCI를 설치하고, 파이프라인을 정의하고, 파이프라인을 활성화하고, 결과를 봅니다. 지속적인 전달 구현: 배포 도구를 선택하고, 배포 파이프라인을 정의하고, 배포를 자동화합니다. 이점: 개발 효율성을 높이고 오류를 줄이며 납품 시간을 단축합니다.

Docker 컨테이너를 사용하여 JavaEE 애플리케이션 배포 Docker 컨테이너를 사용하여 JavaEE 애플리케이션 배포 Jun 05, 2024 pm 08:29 PM

Docker 컨테이너를 사용하여 Java EE 애플리케이션 배포: Dockerfile을 생성하여 이미지를 정의하고, 이미지를 빌드하고, 컨테이너를 실행하고, 포트를 매핑한 다음, 브라우저에서 애플리케이션에 액세스합니다. 샘플 JavaEE 애플리케이션: REST API는 Docker를 통해 배포한 후 localhost에서 액세스할 수 있는 데이터베이스와 상호 작용합니다.

Win11 영어 21996을 중국어 간체 22000으로 업그레이드하는 방법_Win11 영어 21996을 중국어 간체 22000으로 업그레이드하는 방법 Win11 영어 21996을 중국어 간체 22000으로 업그레이드하는 방법_Win11 영어 21996을 중국어 간체 22000으로 업그레이드하는 방법 May 08, 2024 pm 05:10 PM

먼저 시스템 언어를 중국어 간체 표시로 설정하고 다시 시작해야 합니다. 물론 이전에 표시 언어를 중국어 간체로 변경했다면 이 단계를 건너뛰어도 됩니다. 다음으로 레지스트리 조작을 시작하여 regedit.exe를 실행하고 왼쪽 탐색바 또는 상단 주소 표시줄의 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage로 직접 이동한 후 InstallLanguage 키 값과 Default 키 값을 0804로 수정합니다(영어 en-로 변경하려는 경우). 먼저 시스템 표시 언어를 en-us로 설정하고 시스템을 다시 시작한 다음 모든 항목을 0409로 변경해야 합니다. 이 시점에서 시스템을 다시 시작해야 합니다.

See all articles