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


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

    一、工程结构

    二、Pom配置

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

    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(配置中写的地址) ......
    注册不进去的可以试试。
  • 相关阅读:
    EM算法
    Statistics in Python
    26 THINGS I LEARNED IN THE DEEP LEARNING SUMMER SCHOOL
    5 Techniques To Understand Machine Learning Algorithms Without the Background in Mathematics
    统计学习那些事
    Image Scaling using Deep Convolutional Neural Networks
    Unsupervised learning, attention, and other mysteries
    使用导入导出进行备份和恢复OCR(10g)
    计算比尔盖茨財富的方法
    jQuery訪问属性,绝对定位
  • 原文地址:https://www.cnblogs.com/cocoat/p/7473785.html
Copyright © 2020-2023  润新知