制作SpringBoot Docker镜像

2018-01-18  本文已影响0人  柚子过来

默认maven等已安装
1、新建SpringBoot项目,在maven pom文件中配置docker插件依赖:

  <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>gntdcserver</imageName>
                <dockerDirectory>${project.build.directory}</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
        <!-- end::plugin[] -->
    </plugins>
</build>

执行mvn clean package 生成jar包。

2、新建Dockerfile文件:

FROM centos  //基础镜像
COPY jdk1.8.0_151 jdk1.8.0_151 //将jdk拷贝到Docker的根目录下
ENV JAVA_HOME=/jdk1.8.0_151
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EXPOSE 8080
ADD gn-tdc-server/target/gn-tdc-server-1.0-SNAPSHOT.jar gn-server.jar  //在docker根目录生成一个jar
ENTRYPOINT ["java","-jar","/gn-server.jar"]  //容器启动时执行,
如果有更多操作可以写一个.sh脚本,再将ENTRPOINT的参数设成脚本路径

3、将jdk解压包放置Dockerfile同一目录下

4、安装docker服务:

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#os-requirements

使用docker pull centos命令从Dockerhub获取centos镜像。

5、制作镜像:

执行docker build [Dockerfile所在目录]  //会执行Dockerfile文件

6、启动应用:

通过docker images 查看生成的镜像文件
通过docker ps -a 查看所有的docker容器
docker run [镜像Id] 启动容器
docker rm [id] 删除容器
docker rmi [id] 删除镜像
进入已启动的容器中: sudo docker exec -ti a2561aefb0eb /bin/bash //bin/bash指开启一个终端
上一篇下一篇

猜你喜欢

热点阅读