【转】docker 部署 springboot

泪湿孤枕 提交于 2020-02-27 12:58:03

安装jdk8镜像

docker pull openjdk:8-jdk-alpine

maven插件推送方式

  1. 修改/etc/docker/daemon.json文件,加入hosts配置即可。 注意 使用本地docker构建,不要用的生产服务器上,这种方式容易被别人注入木马
    本地局域网 192.168.10.222
12345
{  "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]}
  1. 在settings.xml文件的同级目录创建settings-security.xml文件
    在cmd命令行中使用,在bash中特殊字符会出现转义问题
    12
    mvn --encrypt-master-password <password>{4Cmy61mOMasHCreAdBngs40S7FJ8dFcD8MG9jCJKSNA=}
1234
<?xml version="1.0" encoding="UTF-8"?><settingsSecurity>  <master>{4Cmy61mOMasHCreAdBngs40S7FJ8dFcD8MG9jCJKSNA=}</master></settingsSecurity>
  1. 编辑settings.xml
    最后使用你的私有仓库访问密码生成服务密码,将生成的密码写入到settings.xml的
12
mvn --encrypt-password <password>{RCeI2AmEXXgHmFttKbzhhXBLq/vQdczAluUl3Vd7tsg=}
12345678
<server>		<id>docker-aliyun</id>		<username>matosiki@163.com</username>		<password>{RCeI2AmEXXgHmFttKbzhhXBLq/vQdczAluUl3Vd7tsg=}</password>		<configuration>			<email>matosiki@163.com</email>		</configuration>	</server>
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
2. 重新加载配置文件,并重启docker> systemctl daemon-reload> systemctl restart docker3. 验证,直接访问:> 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 文件
12345678910111213141516171819202122232425262728
# 基于的镜像FROM openjdk:8-jdk-alpine# 安装字体,Captcha需要字体支持RUN set -xe && apk --no-cache add ttf-dejavu fontconfigVOLUME /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.htmlENTRYPOINT ["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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!