• docker打包,运行springboot


    1. 创建src/main/docker/Dockerfile

    2.Dockerfile内容为:

    FROM frolvlad/alpine-oraclejdk8:slim
    VOLUME /tmp
    ADD demo_test-0.0.1-SNAPSHOT.jar app.jar
    RUN sh -c 'touch /app.jar'
    ENV JAVA_OPTS=""
    ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

    2:pom.xml代码为:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.2.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>demo_test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>demo_test</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <!--properties节点中设置docker镜像的前缀“springboot”-->  
            <docker.image.prefix>springboot</docker.image.prefix>
            <java.version>1.8</java.version>
            <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <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>1.0.0</version>    
                    <configuration>    
                        <imageName>test/demo_test</imageName>    
                        <dockerDirectory>src/main/docker</dockerDirectory>    
                        <resources>    
                            <resource>    
                                <targetPath>/</targetPath>    
                                <directory>${project.build.directory}</directory>    
                                <include>${project.build.finalName}.jar</include>    
                            </resource>    
                        </resources>    
                        <dockerHost>http://ip:2375</dockerHost>
                    </configuration>    
                </plugin>    
                <!-- end::plugin[] -->  
            </plugins>
        </build>
    
    </project>

    3:执行eclipse mvn :  package docker:build

    4:  生成镜像成功后,查看镜像

    docker images

    5. 查看所有容器

    docker ps 

    6. 运行springboot容器

    docker fun -id -p 8080:8080 -t test/demo_test

    7:重复生成镜像,导致有none,删除所有none镜像:

    参考:http://blog.51yip.com/cloud/1859.html

    $ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')   //停止容器  

    $ docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')    //删除容器

    $ docker rmi $(docker images | grep "none" | awk '{print $3}')    //删除镜像 

     

     

  • 相关阅读:
    jQuery EasyUI API 中文文档 可调整尺寸
    jQuery EasyUI API 中文文档 链接按钮(LinkButton)
    jQuery EasyUI API 中文文档 手风琴(Accordion)
    jQuery EasyUI API 中文文档 表单(Form)
    jQuery EasyUI API 中文文档 组合(Combo)
    jQuery EasyUI API 中文文档 布局(Layout)
    jQuery EasyUI API 中文文档 拆分按钮(SplitButton)
    jQuery EasyUI API 中文文档 菜单按钮(MenuButton)
    jQuery EasyUI API 中文文档 搜索框
    jQuery EasyUI API 中文文档 验证框(ValidateBox)
  • 原文地址:https://www.cnblogs.com/panql341/p/12093525.html
Copyright © 2020-2023  润新知