springboot2.X打包docker容器部署 并查看项目运行容器日志 - Go语言中文社区

springboot2.X打包docker容器部署 并查看项目运行容器日志


1.创建项目

使用idea创建springboot项目

项目地址: springboot-docker-demo

 

创建好之后,在pom.xml中添加docker的build工具

这里需要服务器docker开通远程访问端口(下面有开通方法),用于项目docker镜像的打包上传

dockerHost  docker服务器地址

imageName 镜像名称+版本号

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- Docker maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!-- docker私服的地址 -->
                    <dockerHost>http://192.168.112.135:2375</dockerHost>
                    <!--镜像名称以及版本号-->
                    <imageName>demo:1.0.0</imageName>
                    <!-- 若需要重复构建相同标签名称的镜像,可将 forceTags 设置为 true -->
                    <forceTags>true</forceTags>
                    <!--Dockerfile的位置 -->
                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <!-- Docker maven plugin -->
        </plugins>
    </build>

接下来在项目的 src/java/main 目录下创建 docker/Dockerfile 结构如下

Dockerfile文件内容为

# 父镜像
FROM lion_li/jdk:8

MAINTAINER Lion Li

VOLUME /root
# 添加jar包到容器并重命名
ADD docker-demo-0.0.1-SNAPSHOT.jar demo.jar

RUN bash -c 'touch /demo.jar'
# 同步容器与本机时间
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
&& echo 'Asia/Shanghai' >/etc/timezone
# 使用端口
EXPOSE 8080

ENV JAVA_OPTS="-Xms256m -Xmx256m"

# -Djava.security.egd=file:/dev/./urandom 加速tomcat启动
# -Dspring.profiles.active=prod 指定spring运行环境,不用可以删除
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar /demo.jar"]

lion_li/jdk:8  该镜像为本人搭建的oracle jdk镜像 也可以使用 openjdk镜像  java:8

如需oracle jdk镜像请参考本人的另一篇文章: docker 搭建 oracle jdk(版本可更换) 镜像

2.构建镜像

使用maven打包工具打包

使用docker工具构建镜像并上传服务器

此操作需要服务器docker开通远程访问端口

可以参考本人的另一篇文章: docker 开启端口 2375 供外部程序访问

查看镜像

docker images

上传成功

再次执行,docker会把名称赋值给我们较新的镜像,原先较旧的镜像也不会覆盖,而是会变为一个无名镜像

将无名镜像删除即可

可以参考我的另一篇文章: docker 删除 容器/镜像 方法

3.生成容器

创建容器

docker run -d --name demo -p 8080:8080 -t demo:1.0.0

查看所有容器

docker ps -a

创建成功,运行容器

docker start demo

4.查看springboot docker容器运行日志

docker logs -f -t --tail 行数 容器名

docker logs -f -t --tail 50 demo

5.测试

访问insert接口

访问查询接口

测试成功

 
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40461281/article/details/92764416
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 22:49:43
  • 阅读 ( 965 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢