目录
本篇博客的重点在于docker不在于java,所以第一部分直接复制即可。

- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
- <parent>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.7.2version>
- <relativePath/>
- parent>
- <groupId>com.examplegroupId>
- <artifactId>dockerartifactId>
- <version>0.0.1-SNAPSHOTversion>
- <name>dockername>
- <description>dockerdescription>
- <properties>
- <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
- <maven.compiler.source>1.8maven.compiler.source>
- <maven.compiler.target>1.8maven.compiler.target>
- <junit.version>4.12junit.version>
- <log4j.version>1.2.17log4j.version>
- <lombok.version>1.16.18lombok.version>
- <mysql.version>5.1.47mysql.version>
- <druid.version>1.1.16druid.version>
- <mapper.version>4.1.5mapper.version>
- <mybatis.spring.boot.version>1.3.0mybatis.spring.boot.version>
- properties>
-
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-actuatorartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-testartifactId>
- <scope>testscope>
- dependency>
- dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-maven-pluginartifactId>
- <configuration>
- <excludes>
- <exclude>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- exclude>
- excludes>
- configuration>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-resources-pluginartifactId>
- <version>3.1.0version>
- plugin>
- plugins>
- build>
-
- project>
对,你没看错,就是这么一行
server.port=6001
- package com.docker;
-
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
-
- @SpringBootApplication
- public class DockerApplication
- {
- public static void main(String[] args)
- {
- SpringApplication.run(DockerApplication.class, args);
- }
-
- }
- package com.docker.Controller;
-
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
-
- import java.util.UUID;
-
- @RestController
- public class OrderController {
- @Value("${server.port}")
- private String port;
-
- //http://localhost:6001/order/docker
- @RequestMapping("/order/docker")
- public String helloDocker() {
- return "hello docker" + "\t" + port + "\t" + UUID.randomUUID().toString();
- }
-
- //localhost:6001/order/index
- @RequestMapping(value = "/order/index", method = RequestMethod.GET)
- public String index() {
- return "服务端口号: " + "\t" + port + "\t" + UUID.randomUUID().toString();
- }
- }
看看能否正常运行



成功启动并拿到数据!
点开maven,刷新一下,然后点击生成jar包

查看其地址位置

使用Xftp传输到宿主机中 (根目录下的mydocker目录)

在宿主机中查看一下:
ls /mydocker

在/mydocker目录下新建Dockerfile注意大小写
vim Dockerfile
将以下内容复制进去:
- FROM java:8
- # 基础镜像使用java
-
- MAINTAINER van
- # 作者
-
- VOLUME /tmp
- # VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
-
- ADD docker-0.0.1-SNAPSHOT.jar van_docker.jar
- # 将jar包添加到容器中并更名为van_docker.jar
-
- RUN bash -c 'touch /van_docker.jar'
- # 运行jar包
-
- ENTRYPOINT ["java","-jar","/van_docker.jar"]
-
- EXPOSE 6001
- #暴露6001端口作为微服务
这里注意空格和点:
docker build -t van_docker:1.6 .

构建完成,使用docker images查看一下:
docker images

运行,微服务就直接-d后台运行即可,注意自己的镜像ID:
docker run -d -p 6001:6001 1de5bcb75c65

访问宿主机ip地址:端口号/目录


或者在宿主机中用curl查看:
curl 127.0.0.1:6001/order/docker
curl 127.0.0.1:6001/order/index

都成功访问并拿到了数据,部署成功。