spring could Windows打包构建docker镜像到linux

前端之家收集整理的这篇文章主要介绍了spring could Windows打包构建docker镜像到linux前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

工程模拟参考:http://blog.csdn.net/forezp/article/details/70198649

一、工程结构

 

二、Pom配置

<build>
        plugins>
            plugin>
                groupId>org.springframework.boot</artifactId>spring-boot-maven-plugin<!-- tag::plugin[] -->
            >com.spotify>docker-maven-pluginversion>0.4.3configuration>
                    imageName>${docker.image.prefix}/${project.artifactId}dockerDirectory>src/main/dockerskipDockerBuild>falseresources>
                        resource>
                            targetPath>/directory>${project.build.directory}include>${project.build.finalName}.jar end::plugin[] -->
        >
    >

yml配置信息

server:
  port: 8661
#  context-path: /hello

eureka:
  instance:
    prefer-ip-address: true
  client:
    registerWithEureka: false
    fetchRegistry: false

三、dockerfile信息

创建dockerfile文件,位置:src/main/docker

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD eureka-server-docker-0.0.1-SNAPSHOT.jar app.jar
#RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8761

四、修改远程Linux服务器docker配置,作者版本为Centos7

1、编辑docker.service文件,开启远程调用

vi /usr/lib/systemd/system/docker.service

在ExecStart这一行后面追加-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

ExecStart=/usr/bin/dockerd-current \
          -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY

2、重启docker服务

service docker restart

3、查看端口是否启动

netstat -anp|grep 2375

4、防火墙开放2375端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent

firewall-cmd --reload

五、Windows增加DOCKER_HOST环境变量

六、Maven打包构建

  cd 到工程模块下执行下面的打包命令

     mvn clean package docker:build -DskipTests

七、启动容器

docker run --name eureka-server -p 8661:8661 -d mydocker/eureka-server-docker

拷贝jar包到宿主机

#docker run --name eureka-server -p 8661:8661 -v $PWD/eureka-server-docker.jar:/app.jar -d mydocker/eureka-server-docker

#docker run --name eureka-client --link eureka-server:eureka-server -p 8662:8662 -v $PWD/eureka-client-docker.jar:/app.jar -d mydocker/eureka-server-docker

八、访问测试

 

 

 

 

完成上面的步骤,eureka-server注册中心已经能够成功部署启动,我们接下来同样部署启动eureka-client,发现client总是无法注册到server中。csdn网友lirui940403解决方

我弄了一整天也是一直注册不进去,后来又搜了搜docker进程间通信,发现一个方法,
eureka-server部署的时候给一个名字: docker run --name eureka-server -p 8761:8761
server-hi中部署使用link参数 docker run --link eureka-server(server部署时赋予的名字):eureka-server(配置中写的地址) ......
注册不进去的可以试试。

 

原文链接:/maven/991881.html

猜你在找的Maven相关文章