使用docker部署springboot项目服务

本文详细介绍了如何使用Docker构建和运行镜像,包括制作Dockerfile,构建镜像,通过命令行运行多个容器,并展示了查看容器ID、日志的方法。此外,还讲解了在阿里云SLB上配置域名转发策略的步骤,确保多台机器上的容器服务能够正确转发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.构建镜像

        1.1. 制作Dockerfile文件

        1.2. 构建镜像

2.运行镜像

        运行多个镜像:        

3.查看停止的容器ID        

4.查看容器

4.2查看容器日志

5.架构图

docker集群 ​

6.配置域名转发策略


1.构建镜像

        1.1. 制作Dockerfile文件

        参考示例如下:     

FROM ascdc/jdk8
MAINTAINER huachun
EXPOSE 9527
 
COPY ./delivery-0.0.1-SNAPSHOT.jar /data
 
ADD delivery-0.0.1-SNAPSHOT.jar  delivery-0.0.1-SNAPSHOT.jar
 
ENTRYPOINT ["java","-jar","delivery-0.0.1-SNAPSHOT.jar"]
 
ENV TZ=Asia/Shanghai

                参考:docker安装与服务搭建Linux服务器Centos版本_hauchun的博客-优快云博客

        1.2. 构建镜像

                docker build -t springboot-delivery .

构建镜像常见问题可参考:docker常见问题_hauchun的博客-优快云博客

2.运行镜像

        docker run  -p 9527:9527 -d --name springboot-delivery-9527 springboot-delivery

    参数说明:

        --name: 容器名

        -d:在后台运行

        -p:宿主机端口和容器端口

        最后面的是镜像名

        运行多个镜像:
        


docker run -e TZ="Asia/Shanghai" -v /data/docker/logs/:/script/logs  -p 9526:9527 -d --name springboot-delivery-9526 springboot-delivery

docker run -e TZ="Asia/Shanghai" -v /data/docker/logs/:/script/logs -p 9527:9527 -d --name springboot-delivery-9527 springboot-delivery

docker run -e TZ="Asia/Shanghai" -v /data/docker/logs/:/script/logs -p 9528:9527 -d --name springboot-delivery-9528 springboot-delivery

-e:指定时区参数

-v: 将容器日志挂在到宿主机指定目录,防止容器被删除找不到日志问题

3.查看停止的容器ID        

[root@iZuf67laxwwwzwi68yh2kdZ springboot-service]# docker ps -aq
0e48dc6dd857

4.查看容器

 4.1查看容器列表

[root@iZuf67jei1pul0y776l9yjZ springboot-service]# docker container ls
CONTAINER ID   IMAGE                 COMMAND                  CREATED              STATUS              PORTS                    NAMES
1cb515247769   springboot-delivery   "java -jar delivery-…"   About a minute ago   Up About a minute   0.0.0.0:9528->9527/tcp   springboot-delivery-9528
0496439b1d09   springboot-delivery   "java -jar delivery-…"   About a minute ago   Up About a minute   0.0.0.0:9527->9527/tcp   springboot-delivery-9527
454d39a26dd9   springboot-delivery   "java -jar delivery-…"   6 minutes ago        Up 6 minutes        0.0.0.0:9526->9527/tcp   springboot-delivery-9526

4.2查看容器日志

有新的日志生成会实时刷新出来

# container_id 容器ID
docker logs -f --tail 10 container_id

docker logs -f --tail container_id

只是打印出来最新的10行日志

# container_id 容器ID
docker logs --tail 10 container_id

docker logs container_id | tail -n 10 

打印最早期的10行日志

# container_id 容器ID
docker logs container_id| head -n 10 

 想要在docker日志里查找关键字

# container_id 容器ID
docker logs container_id| grep ERROR

只想找最新的两行的ERROR日志 

# container_id 容器ID
docker logs container_id| grep ERROR | tail -n 2

5.架构图

docker集群 

 因为使用了阿里云的SLB,所以还需要在负载均衡配置多个不同端口的资源组

6.配置域名转发策略

阿里云工作台搜索 SLB负载均衡 -> 传统型负载均衡 实例管理 -> 点击实例ID -> 虚拟服务组

 因为我只有三台可以用的机器,所以将三台机器的多个端口映射到不同容器后端端口

同样找到配置转发策略将域名与虚拟服务绑定,如果域名有盖顶或者是新添加的,记得要匹配扩展域名

持续更新中...

欢迎优快云的小伙伴和我交流,共同探讨更多的使用技巧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值