【转】docker 部署 springboot

安装jdk8镜像

docker pull openjdk:8-jdk-alpine

maven插件推送方式

  1. 修改/etc/docker/daemon.json文件,加入hosts配置即可。 注意 使用本地docker构建,不要用的生产服务器上,这种方式容易被别人注入木马
    本地局域网 192.168.10.222
1
2
3
4
5
{

"hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]

}
  1. 在settings.xml文件的同级目录创建settings-security.xml文件
    在cmd命令行中使用,在bash中特殊字符会出现转义问题
    1
    2
    mvn --encrypt-master-password <password>
    {4Cmy61mOMasHCreAdBngs40S7FJ8dFcD8MG9jCJKSNA=}
1
2
3
4
<?xml version="1.0" encoding="UTF-8"?>
<settingsSecurity>
<master>{4Cmy61mOMasHCreAdBngs40S7FJ8dFcD8MG9jCJKSNA=}</master>
</settingsSecurity>
  1. 编辑settings.xml
    最后使用你的私有仓库访问密码生成服务密码,将生成的密码写入到settings.xml的
1
2
mvn --encrypt-password <password>
{RCeI2AmEXXgHmFttKbzhhXBLq/vQdczAluUl3Vd7tsg=}
1
2
3
4
5
6
7
8
<server>
<id>docker-aliyun</id>
<username>[email protected]</username>
<password>{RCeI2AmEXXgHmFttKbzhhXBLq/vQdczAluUl3Vd7tsg=}</password>
<configuration>
<email>[email protected]</email>
</configuration>
</server>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77



2. 重新加载配置文件,并重启docker

> systemctl daemon-reload

> systemctl restart docker


3. 验证,直接访问:

> curl 127.0.0.1:2375/info


## jav 大专栏  【转】docker 部署 springboota项目

1. maven pom.xm 配置文件

```xml
<build>

<plugins>

<!-- springboot打包 -->

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>



<plugin>

<groupId>com.spotify</groupId>

<artifactId>docker-maven-plugin</artifactId>

<version>0.4.9</version>

<configuration>

<!-- 镜像名称 -->

<imageName>matosiki/springboot-docker-demo</imageName>

<!-- docker远程服务器地址 -->

<dockerHost>http://服务器IP:2375</dockerHost>

<!-- Dockerfile文件存放目录 -->

<dockerDirectory>src/main/docker</dockerDirectory>

<resources>

<resource>

<directory>${project.build.directory}</directory>

<include>${project.build.finalName}.jar</include>

</resource>

</resources>

</configuration>

</plugin>

</plugins>

</build>
  1. 编写Dockerfile 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28


# 基于的镜像

FROM openjdk:8-jdk-alpine

# 安装字体,Captcha需要字体支持
RUN set -xe && apk --no-cache add ttf-dejavu fontconfig

VOLUME /opt/tmp



ADD projectname-1.0.0-SNAPSHOT.jar app.jar



# -Djava.security.egd=file:/dev/./urandom 可解决tomcat可能启动慢的问题

# 具体可查看:https://www.cnblogs.com/mightyvincent/p/7685310.html

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]



# 对外端口

EXPOSE 8080
  1. 编码运行

mvn clean package docker:build -Dmaven.test.skip=true

  1. 查看镜像

docker images

  1. 运行镜像,查看是否启动正常

docker run -d -p 8080:8080 matosiki/springboot-docker-demo

  1. 基于已有镜像运行 jar
1
docker run -d -p 1234:8080 -v /opt/docker/projectname-1.0.0-SNAPSHOT.jar:/usr/projectname-1.0.0-SNAPSHOT.jar --name SpringbootByJar openjdk:8-jdk-alpine java -jar /usr/projectname-1.0.0-SNAPSHOT.jar

猜你喜欢

转载自www.cnblogs.com/liuzhongrong/p/12371462.html