windows 打包docker 镜像自动到远程服务器

最近在家带着没事,老大通知自行研究docker 相关的知识以备上班的时候运用,现在记录一下,本地maven打包自动生辰docker镜像推到远程的镜像仓库。

第一要配置DockerFile如下:

FROM openjdk:8-jdk-alpine
OLUME /tmp
ADD oasys-0.0.1-SNAPSHOT.jar app.jar

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

oasys-0.0.1-SNAPSHOT.jar根据实际情况打出的包

 

 

 

 windows 打包docker 镜像自动到远程服务器

 

 

 

 

 

第二步要添加pom文件配置

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <docker.image.prefix>springboot</docker.image.prefix>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties> 

添加插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--加入maven插件“docker-maven-plugin”-->

            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <executions>
                    <!--执行 mvn package 时 自动 执行 mvn docker:build-->
                    <execution>
                        <id>build-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerHost> http://192.168.163.129:2375</dockerHost>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

        </plugins>
    </build>

 

 

三,在linux服务器上装好docker,我的linux版本为centos7,这里不建议使用#yum install docker方式安装,因为这种方式安装的版本比较旧,而且在配置远程api时要好多错误,建议使用方式

#curl -fsSL https://get.docker.com/ | sh或#yum install docker-engine,这里以17.0.3-ce版本为例,使用

#docker version命令即可验证是否安装成功,接下来要想在windows中操作远程linux中的docker,那前提是必须

开启docker远程API,修改docker配置文件#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 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ,这里就写4个0,你可别改成自己的ip哦,保存后退出,重新加载配置文件#systemctl daemon-reload ,启动#systemctl restart docker.service ,

输入#netstat -anp|grep 2375 显示docker正在监听2375端口,输入#curl 127.0.0.1:2375/info 显示一大堆信息,证明远程api就弄好了

iptables放行2375端口 (否则会报连接超时,当初没有这一步,报错根本不知道怎么回事,找了好长时间?~?)
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2375 -j ACCEPT

之后打包就好

windows 打包docker 镜像自动到远程服务器

 

 

原文https://www.cnblogs.com/a1260700062/p/9923508.html

windows 打包docker 镜像自动到远程服务器

上一篇:C#封装HttpClient工具类库(.NET4.5以上)


下一篇:借助 SIMD 数据布局模板和数据预处理提高 SIMD 在动画中的使用效率