在未安装docker环境的windows系统上将springboot项目镜像推送到远程主机

一,修改pom文件
在pom.xml文件中添加以下信息:



org.springframework.boot
spring-boot-maven-plugin

true




com.spotify
docker-maven-plugin
1.0.0


{project.artifactId}

{project.build.directory}
${project.build.finalName}.jar



http://192.168.12.145:2375


二,配置好Dockerfile文件

指定基础镜像

FROM java:8

维护者信息

MAINTAINER LiXiang

指定容器挂载为匿名卷

VOLUME /tmp

设置时区

RUN echo 'Asia/Shanghai' > /etc/timezone

创建jar包目录

RUN mkdir -p /usr/local/app

复制jar包到容器

COPY target/sscm-eureka-server-1.0.0.jar /usr/local/app/sscm-eureka-server.jar

COPY sscm-eureka-server-1.0.0.jar app.jar

bash方式执行,使jar包可访问

RUN bash -c "touch /usr/local/app/sscm-eureka-server.jar"

声明运行时容器提供服务端口

EXPOSE 8761

指定容器启动程序及参数

ENTRYPOINT ["java","-jar","-noverify","-Xms256M","-Xmx256m","-Xmn32M","-Xss256K","/usr/local/app/sscm-eureka-server.jar"]

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

三,开启远程主机docker远程访问权限
想要开启远程访问,就需要修改下面这个配置文件
vim /usr/lib/systemd/system/docker.service

1,在该文件[services]下增加以下配置:
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
增加完后保存

2,重启服务
systemctl daemon-reload
systemctl restart docker
3,开启防火墙访问权限

以下功能基于您拥有root用户权限
安装:
sudo yum install firewalld firewall-config -y
1
启动、停止、禁用、启用
查看状态:
systemctl status firewalld
1
启动:
systemctl start firewalld
1
停止:
systemctl stop firewalld
1
禁用:
systemctl disable firewalld
1
启用:
systemctl enable firewalld
1
开放端口区间
firewall-cmd --permanent --zone=public --add-port=100-500/tcp
firewall-cmd --permanent --zone=public --add-port=100-500/udp
firewall-cmd --reload
1
2
3
查看开放的端口
firewall-cmd --zone=public --list-ports
1
查看还有哪些服务可以打开

firewall-cmd --get-services
1
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
1
重新载入
firewall-cmd --reload
1
查看
firewall-cmd --zone=public --query-port=80/tcp
1
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent

4,在本地使用maven打包命令
mvn clean package docker:build 即可将镜像推送至指定的主机

5,验证

1,打开本地浏览器输入:http://远程ip:2375,如果返回:{"message":"page not found"} 即表示远程端口开放成功
2,远程主机上使用docker images,如果在列表中出现了目标镜像,即表示远程推送成功。

你可能感兴趣的:(在未安装docker环境的windows系统上将springboot项目镜像推送到远程主机)