1.基于springboot新建项目,导入docker在pom中
<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>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<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>
2.新建测试类
@RestController
@SpringBootApplication
@RequestMapping("/docker")
public class DockerController {
@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "Hello Docker";
}
}
3.生成jar.注意生成过程
run as --点击 maven install生成
4.生成镜像文件 docker Dockerfile
Dockerfile文件具体内容
FROM java:8-alpine
ADD spingboottest-1-0.0.1-SNAPSHOT.jar springboot.jar
EXPOSE 8090
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot.jar"]
------------------------------------------------------------------------------------------------------
以下属于在linux系统操作
在home创建文件夹docker 上传本地spingboottest-1-0.0.1-SNAPSHOT.jar,Dockerfile到liunx系统文件
2.1构建镜像docker build -t springboot-demo .
2.2查看镜像docker images
2.3将镜像通过指令生成容器
docker run -d -p 8081:8080 springboot-demo
2.4查看容器 docker ps
如果 docker ps 没有容器,则需要坚持项目是否存在问题https://blog.csdn.net/m0_37942145/article/details/105809568
2.5 docker ps -a 坚持运行情况
2.6注意端口映射 需要在阿里云安全组添加8081
通过访问ip +端口 访问成功
个人建议,在配置过程中出现了许多问题,最好查看下仓库,镜像,容器的关系
建立就会删除,以下为两种删除情况。
当容器停止运行,没有被访问师,调用以下:
docker rm 容器id 删除容器
docker rmi 镜像id 删除镜像
当容器运行时
docker stop 容器id
ocker rm 容器id 删除容器
docker rmi 镜像id 删除镜像
查看springboot是否启动
docker logs 镜像名称