环境安装
首先,需要安装Docker(例如:docker for windows)
下载地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe
安装运行起来之后,配置一下阿里云境像,在屏幕右下角,找到"小鲸鱼"
右击小鲸鱼->settings->Daemon 如下图,设置镜像地址:
https://6w4lyiz2.mirror.aliyuncs.com
重启大概需要30秒
springboot代码
1、pom 文件如下:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE com.river springboot-docker 0.0.1-SNAPSHOT springboot-docker Demo project for Spring Boot UTF-8 UTF-8 springio 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-autoconfigure 2.1.5.RELEASE org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 0.4.13 ${docker.image.prefix}/${project.artifactId} src/main/docker / ${project.build.directory} ${project.build.finalName}.jar
2、程序
package com.river.springbootdocker; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class SpringbootDockerApplication { public static void main(String[] args) { SpringApplication.run(SpringbootDockerApplication.class, args); } @RequestMapping("/") public String home() { return "Hello Docker World"; } }
3、程序端口设置为 :
server.port=8010
这时可以编译或运行程序
4、在程序根目录下创建Dockerfile文件
FROM frolvlad/alpine-oraclejdk8:slim
MAINTAINER [email protected]
VOLUME /tmp
ADD ./target/springboot-docker-0.0.1-SNAPSHOT.jar springboot-docker.jar
RUN sh -c 'touch /springboot-docker.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /springboot-docker.jar" ]
配置文件解释:
VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。改步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
项目的 jar 文件作为 “app.jar” 添加到容器的
ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/urandom” 作为 Entropy Source
docker部署
在当前文件夹下打开cmd命令,执行如下语名构建镜像:
docker build -t hello-docker .
输出如下信息,就表示镜像构建成功了
此时,我们可以通过命令查看镜像:
docker images
接着,启动容器
docker run -d -p 8030:8010 hello-docker
在浏览器中输入:
http://localhost:8030/
我们可以看到: