废话不多说
如果没安装docker 的可以去我文章里找。
首先,自己去建一个springboot 项目,这步我省略了。
pom.xml 中添加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker 插件 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 指的是镜像构建后,docker 仓库中镜像的名字 -->
<imageName>springboot/${project.artifactId}</imageName>
<!-- 指的是DockerFile 文件在此项目中的路径 -->
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
新建Dockerfile
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER GOOD_O3Ax <xxxxxxx@sina.cn>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD docker-demo.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#FROM:指定存在的镜像,java:8是我刚刚拉取的镜像,运行的基础。
#VOLUME:指向的一个临时文件,用于存储tomcat工作。
#ADD:复制文件并且重命名文件。
#ENTRYPOINT:初始化配置或者自定义配置。
XxxApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DockerDemoApplication {
public static void main(String[] args) {
SpringApplication.run(DockerDemoApplication.class, args);
}
@GetMapping("/test")
public String test(){
return "Hello Docker World!";
}
}
以上工作在本地准备好,那接下来,我们注意力放到docker 上就好了。
提醒:不需要特意的去 拉去jdk .在构建镜像的时候会顺便pull下
1.创建文件夹docker,存放Dockerfile和已经打包好的springboot项目jar
2.执行命令构建镜像
docker build -t docker-demo .
在这一步的时候我报了个错如下:
error pulling image configuration: Get https://registry-1.docker.io/v2/library/redis/blobs/sha256:7e
然后继续执行
(圈红部分,是因为之前我没有构建过 jdk )
3. 使用命令查看构建好的镜像
docker images
4.启动镜像
docker run -d -p 8081:8081 docker-demo # 启动
docker ps # 查看正在运行的镜像
-d 指定容器在后台运行;
-p 9091:9091用于将容器内的8081端口映射到主机的8081端口,也可以换成其他本机端口。
5:访问浏览器
6:查看日志命令