Rumah > pangkalan data > Redis > teks badan

Cara Docker menggunakan projek SpringBoot dan menyepadukan imej Redis untuk pengiraan akses

WBOY
Lepaskan: 2023-06-02 10:37:14
ke hadapan
730 orang telah melayarinya

Kesan akhir adalah seperti berikut

Cara Docker menggunakan projek SpringBoot dan menyepadukan imej Redis untuk pengiraan akses

Kira-kira beberapa langkah

1 Pasang Docker CE 2. Jalankan imej Redis 3. Penyediaan persekitaran Java 4 . Penyediaan Projek 5. Tulis Fail Docker 6. Keluarkan projek 7. Perkhidmatan ujian

Persediaan persekitaran

  • Sistem: Ubuntu 17.04 x64

  • Docker 17.12.0-ce

  • IP:45.32.31.101

1 CE

Tidak disyorkan di China untuk menggunakan: "Skrip untuk dipasang", muat turun dan pemasangan akan menjadi sangat perlahan, gunakan langkah 1 untuk memasang, lihat pautan di bawah: Kaedah pemasangan konvensional

1. Kaedah Pemasangan Konvensional

Ubuntu 17.04 x64 Pasang Docker CE

2 Skrip tidak disyorkan untuk pemasangan domestik:

Pasang Docker CE

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Salin selepas log masuk
<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>
Salin selepas log masuk

Sahkan Docker CE

Sahkan Docker CE dipasang dengan betul dengan menjalankan hello- imej dunia

$ 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
Salin selepas log masuk

2 Jalankan imej Redis

1 Jalankan imej

$ 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
Salin selepas log masuk
2 Lihat imej

root@souyunku:~# docker images redis
REPOSITORY TAG  IMAGE ID CREATED SIZE
redis latest 1e70071f4af4 4 weeks ago 107MB
Salin selepas log masuk
Lihat proses pencerminan

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
Salin selepas log masuk
Lihat proses bekas

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
Salin selepas log masuk
3. Uji perkhidmatan Redis

Sambungkan perkhidmatan Redis melalui redis -cli dan uji data yang disimpan

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:~#
Salin selepas log masuk

3. Penyediaan Persekitaran Java

NOTA: Baca langkah berikut! ! !

1. Persekitaran Java adalah untuk menyusun projek contoh Github Maven SpringBoot dan menyediakan

2. Atau anda boleh menyusunnya secara setempat dan memuat naiknya, kemudian pasang persekitaran Java berikut: Jdk, Maven , Git, anda tidak perlu mengkonfigurasi

1 Pasang Jdk

Muat turun kaedah JDK: 1

Muat turun jdk1.8 dalam persekitaran Linux, sila pergi ke (rasmi laman web) untuk memuat turun jdk Fail pemasangan

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

Muat turun kaedah JDK: 2

Pautan yang saya bahagikan dalam Baidu Cloud Disk: http://pan.baidu.com/s/1jIFZF9s Kata Laluan: u4n4

Muat turun Kaedah JDK: 3

Gunakan wget untuk memuat turun,

$ 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
Salin selepas log masuk
Perhatikan bahawa jika anda menggunakan: Muat turun kaedah JDK: 3

kemudian dalam langkah berikut, gantikan jdk1.8.0_144 dengan jdk1.8.0_141

Mulakan pemasangan

Muat naik dalam direktori /opt

Nyahzip

$ cd /opt
$ tar zxvf jdk-8u144-linux-x64.tar.gz
$ mv jdk1.8.0_144/ /lib/jvm
Salin selepas log masuk
Konfigurasikan pembolehubah persekitaran

$ 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
Salin selepas log masuk
Jadikan pembolehubah persekitaran berkesan

$ source /etc/profile
Salin selepas log masuk
Sahkan

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)
Salin selepas log masuk
2. Pasang Maven

$ apt-get install maven
Salin selepas log masuk
Sahkan 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"
Salin selepas log masuk
3. > 4. Penyediaan projek

1 Susun projek

1 Susun projek pada pelayan Maven sendiri

Gunakan git untuk mengklon projek

$ apt-get install git
Salin selepas log masuk

Gunakan maven untuk menyusun projek

root@souyunku:~# git --version
git version 2.11.0
Salin selepas log masuk
2. Ubah suai projek

Ubah suai alamat pelayan Redis spring.redis.host=45.32.44.217 kepada IP tempatan Imej Redis, Redis telah dijadikan perkhidmatan rangkaian luaran 0.0.0.0:6379-> 6379/tcp

$ git clone https://github.com/souyunku/other-projects.git
Salin selepas log masuk

Salin projek docker-spring-boot-demo-0.0.1-SNAPSHOT.jar dalam target/ direktori ke direktori /opt yang akan digunakan kemudian

$ cd other-projects/docker-spring-boot-demo/
Salin selepas log masuk

2 Susun sendiri projek dalam Maven tempatan, dan kemudian muat naik ke direktori /opt Anda akan menggunakannya kemudian

untuk mengubah suai alamat pelayan Redis application.properties

$ vi src/main/resources/application.properties
# Redis服务器地址
spring.redis.host=45.32.44.217
$ mvn package
Salin selepas log masuk

5. Tulis Fail Docker

Tulis Fail Docker berdasarkan imej java:8

$ cp target/docker-spring-boot-demo-0.0.1-SNAPSHOT.jar /opt/
Salin selepas log masuk

Kandungan penyuntingan adalah seperti berikut

other-projects/docker-spring-boot-demo/src/main/resources/application.properties
# Redis服务器地址
spring.redis.host=45.32.44.217
Salin selepas log masuk

6 Lepaskan projek

1. Susun imej

$ cd /opt/
$ touch Dockerfile
$ vi Dockerfile
Salin selepas log masuk

Melihat maklumat berikut membuktikan bahawa anda. Fail Docker ditulis dengan betul dan imej berjaya disusun

# 基于哪个镜像
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"]
Salin selepas log masuk

2 Lihat imej

$ cd /opt/
$ docker build -t souyunku-app:v1 .
Salin selepas log masuk

3 Jalankan imej Jalankan daemon latar belakang, dan kemudian petakan bekas port ke port rangkaian luaran 80

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
Salin selepas log masuk

4 Lihat proses

Lihat proses kontena, anda dapat melihat bahawa redis adalah Port 6379, projek MySpringBoot berada di port 80

root@souyunku:/opt# docker images souyunku-app
REPOSITORY TAG  IMAGE ID CREATED SIZE
souyunku-app v1  8ec4e85a0f05 2 minutes ago 681MB
Salin selepas log masuk
<.>

7. Perkhidmatan ujian

Akses pelayar: http://127.0.0.1/, sudah tentu saya tidak memasukkan 127.0. Saya melakukannya secara langsung pada pelayan, menggunakan orang awam IP

Karang Docker

Karang Docker ialah salah satu projek orkestrasi Docker rasmi, yang bertanggungjawab untuk aplikasi teragih Deploy pantas dalam gugusan.

Aplikasi menggunakan bekas Docker biasanya terdiri daripada berbilang bekas. Dengan Docker Compose

, anda tidak perlu lagi menggunakan skrip shell untuk memulakan bekas. Dalam fail konfigurasi, semua bekas ditakrifkan oleh perkhidmatan, dan kemudian gunakan skrip

docker-compose

untuk memulakan, menghentikan dan memulakan semula aplikasi, perkhidmatan dalam aplikasi dan semua bekas yang bergantung pada perkhidmatan.

Atas ialah kandungan terperinci Cara Docker menggunakan projek SpringBoot dan menyepadukan imej Redis untuk pengiraan akses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!