spring could Windows打包构建docker镜像到linux
2017-09-04 15:21
731 查看
工程模拟参考:http://blog.csdn.net/forezp/article/details/70198649
一、工程结构
二、Pom配置
yml配置信息
三、dockerfile信息
创建dockerfile文件,位置:src/main/docker
四、修改远程Linux服务器docker配置,作者版本为Centos7
1、编辑docker.service文件,开启远程调用
vi /usr/lib/systemd/system/docker.service
在ExecStart这一行后面追加[b]-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock[/b]
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的解决方案
一、工程结构
二、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这一行后面追加[b]-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock[/b]
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(配置中写的地址) ...... 注册不进去的可以试试。
相关文章推荐
- Spring Boot应用Docker打包成镜像
- spring boot应用打包成docker镜像和服务的编排
- Docker(二)-Docker化-构建Springboot的镜像
- 利用Swarmkit构建Windows/Linux混合Docker集群 推荐
- Spring Boot项目打包成docker镜像
- Spring Boot项目与Docker集成完成打包,打镜像及推送至镜像库的功能
- 基于busybox构建最小linux Docker镜像系统
- Dockerfile构建spring Cloud微服务镜像
- 使用dockerfile 构建springboot 的docker镜像
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。
- 将spring cloud打包docker镜像
- 利用Docker,构建宝塔linux面板镜像
- 第一个SpringBoot web 应用使用maven构建Docker镜像并容器化运行
- 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
- Spring Boot教程(三十三) springboot程序构建一个docker镜像
- springboot打包docker镜像部署
- 新手超详细记录:Docker for Windows打包制作tomcat镜像并部署java web项目
- Spring Boot学习总结(10)——SpringBoot打包成Docker镜像
- Windows环境下Spring Boot+Docker构建应用