Docker部署Spring Boot專案

2022-09-14 16:36:20 字數 2717 閱讀 1191

public static void main(string args)

@restcontroller

public class hellosimoncontroller

}}

<?xml version="1.0" encoding="utf-8"?>

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.5.release

com.example

microservices-docker

0.0.1-snapshot

microservices-docker

demo project for spring boot

1.8

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-m**en-plugin

啟動這個demo,瀏覽器訪問http://localhost:8080/hello,返回 「hello world!」,介面正常。

新增docker構建外掛程式

com.spotify

docker-m**en-plugin

1.0.0

simon/$:$

src/main/docker/$

$.jar

簡要說明外掛程式配置:

imagename:用於指定映象名稱,其中simon是倉庫名稱,$是映象名稱,$是標籤名稱;

resources.resource.directory:用於指定需要複製的檔案,$表示target目錄;

resources.resource.include:用於指定需要複製的檔案。$.jar指的是打包後的jar

在目錄src/main/docker下建立 dockerfile 檔案,dockerfile 檔案用來說明如何來構建映象

from openjdk:8-jdk-alpine

volume /tmp(可忽略)

volume:volume 指向了乙個/tmp的目錄,由於 spring boot 使用內建的tomcat容器,tomcat 預設使用/tmp作為工作目錄。這個命令的效果是:在宿主機的/var/lib/docker目錄下建立乙個臨時檔案並把它鏈結到容器中的/tmp目錄

add:拷貝檔案並且重新命名

entrypoint:為了縮短 tomcat 的啟動時間,新增j**a.security.egd的系統屬性指向/dev/urandom作為 entrypoint

我們需要把demo這個專案上傳到linux上進行打包部署。linux上需要安裝jdk和m**en(不講述安裝過程),還需要安裝docker環境,可以參考之前的文章centos7 安裝docker。

進入demo專案的根目錄,執行下面的命令

mvn package docker:build
docker images
[root@localhost ~]# docker images

repository tag image id created size

simon/microservices-docker 0.0.1-snapshot a8aa192bf68c 12 hours ago 660mb

j**a latest d23bdf5b1b1b 2 years ago 643mb

simon/microservices-docker就是構建的映象

docker run -p 8080:8080 -t simon/microservices-docker:0.0.1-snapshot
docker ps
container id        image                                       command                  created             status              ports                    names

f216e60cb5ec simon/microservices-docker:0.0.1-snapshot "j**a -dj**a.securit…" 7 minutes ago up 7 minutes 0.0.0.0:8080->8080/tcp zen_leakey

docker stop zen_leakey
哦了!

docker部署 docker環境部署mysql

蘇軾 這裡我拉取了tag為5.7的映象 docker pull mysql 5.7因為需要自定義mysql的配置,所以需要乙個配置目錄 因為需要將mysql生成的資料掛載到本地,所以需要乙個資料目錄 建立mysql 資料目錄mkdir p root mysql data 建立配置檔案 touch r...

使用springMvc模擬springboot

springmvc 1,新增jar依賴 2,非web環境,程式的入口在main方法入口,而main函式的入口在listener中。初始化順序是listener先於filter先於servlet。因此要新增乙個listner。這裡就有疑問了,難道時至今日,我們還要去在web.xml中去新增listen...

docker部署部署心得

一 涉及檔案 centos centos7.tar.gz docker中centos映象壓縮包 docker.tar.gz docker 安裝包 jre 8u131 linux x64.rpm 生成cloudlicense映象時要用到 由於找不到openjdk,安裝映象,用這個替代 dockerfi...