安装docker插件
配置docker仓库URL
Demooo/springboot-demo-docker at master · cbeann/Demooo · GitHub
@GetMapping("/hello")
public String hello() {
String s = LocalDateTime.now().toString();
return s;
}
<properties>
<!--设置时间戳-->
<maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
<!--设置docker image 前缀-->
<docker.prefix>mydocker</docker.prefix>
</properties>
<!-- docker插件 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<!--将插件绑定在某个phase执行-->
<executions>
<execution>
<id>build-image</id>
<!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build-->
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--设置镜像名称-->
<imageName>${docker.prefix}/${project.artifactId}_${maven.build.timestamp}</imageName>
<!-- docker远程服务器地址 -->
<dockerHost>http://127.0.0.1:2375</dockerHost>
<!--设置目录,该目录下放dockerfike-->
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
在/src/main/docker目录下,该位置在pom中已经设置
#指定基础镜像,在其上进行定制
FROM java:8
#维护者信息
MAINTAINER cbeann <cbeann@163.com>
#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp
#复制上下文目录下的target/springboot-demo-docker-0.0.1-SNAPSHOT.jar 到容器里
COPY springboot-demo-docker-0.0.1-SNAPSHOT.jar demo-1.0.0.jar
#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 8080
#指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
ENTRYPOINT ["java","-jar","demo-1.0.0.jar"]
此处已经在pom中把bulid image与mvn package做了关联,即运行package也运行构建镜像命令
0)确保2375端口开放
1)修改/usr/lib/systemd/system/docker.service
2)修改ExecStart行为下面内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
3)加载docker守护线程
systemctl daemon-reload
4)重启docker
systemctl restart docker
参考:docker 开启2375端口,提供外部访问docker_H的博客-CSDN博客_2375
注意:在内网中开放2375端口或者测试的时候开放2375端口,其它时候必须关闭,必须关闭,必须关闭,为了保证服务器的安全