赞
踩
安装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端口,其它时候必须关闭,必须关闭,必须关闭,为了保证服务器的安全
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。