Linux+Docker+SpringBoot 简单部署

1、安装docker

查看docker版本,验证是否验证成功:docker -v

查看docker信息:docker info

2、cmd打包Springboot项目,mvn方式:mvn clean package -Dmaven.test.skip=true

3、服务器设置开放防火墙端口(8025),上传jar包至云服务器文件夹中,并创建dockerfile文件

dockerfile模板:

4、Dockerfile构建镜像

#docker build --f (dockerfile文件路径) --t/-d 镜像名称:版本 .

docker build -f ./gpt_df -t gpt:1.0 .

5、创建容器

#docker run -id -p 主机端口号:容器端口号 --name容器名字 镜像名称:版本

docker run -id -p 8025:8025 --name=gpt_st gpt:1.0

查看正在运行的容器:docker ps

6、测试项目是否运行

ip地址:端口号/访问地址

7、Docker日志配置及日志常用详解

日志存放的位置在/var/lib/docker/containers/

使用docker system df 查看Docker镜像及日志等占用情况

提供一个清理日志的脚本 相当于手动删除日志

echo "======== start clean docker containers logs ========"

logs=$(find /var/lib/docker/containers/ -name *-json.log)

for log in $logs

do

echo "clean logs : $log"

cat /dev/null > $log

done

echo "======== end clean docker containers logs ========"

chmod +x clean_docker_log.sh 增加执行权限

./clean_docker_log.sh 运行脚本

自动空间清理

docker system prune

在docker run的时候加上以下参数 可以控制某个容器生成日志的大小

--log-driver json-file #日志驱动

--log-opt max-size=[0-9+][k|m|g] #文件的大小

--log-opt max-file=[0-9+] #文件数量

--restart=always #服务器重启-容器自动启动

Docker 全局日志控制

#新建/etc/docker/daemon.json 若有就不用新建了 添加log-dirver和log-opts参数

vim /etc/docker/daemon.json

{

"log-driver":"json-file",

"log-opts": {"max-size":"500m", "max-file":"3"}

}

max-size=500m,意味着一个容器日志大小上限是500M,

max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json

// 重启docker守护进程

systemctl daemon-reload

systemctl restart docker

tail-f filename:把最新内容刷新显示到屏幕上

docker logs -f <CONTAINER>

tail-n 5 filename :显示最后5行的内容 可以结合-f查看实时日志

docker logs --tail 5 <CONTAINER>

查找所有包含 "error" 的log

docker logs <CONTAINER> | grep error

使用 --since 选项,显示从指定时间点到最新的日志

docker logs --since 2019-10-17T12:01:46.452616Z <CONTAINER>

since指定了开始时间点,还可以指定结束时间点,使用选项 --until,显示二者之间的日志

docker logs --since 2019-10-17T12:01:46.452616Z --until 2019-10-25T12:01:48.561714Z <CONTAINER>

这些选项都可以放在一起使用

docker logs --tail 10 <CONTAINER> | grep info

docker logs -f --since 2019-10-17T12:01:46.452616Z --tail=10 <CONTAINER>

把 error 日志都写到指定文件

docker logs -t <CONTAINER> | grep error >> logs_error.txt

相关推荐
小此方5 分钟前
Re:Linux系统篇(二十二)进程篇·七:环境变量的底层溯源、核心获取机制与安全应用
linux·运维·服务器
Cloud_Shy61811 分钟前
Linux 系统权限知识及应用实践
linux·运维·服务器·centos·云计算
一氧化二氢.h22 分钟前
Linux手动脚本 vs Dockerfile部署:核心区别与适用场景
linux·运维·服务器
茉莉清茶LG23 分钟前
Xshell成功创建了Ubuntu连接,但是显示虚拟机连接断开了,连接失败。
linux·运维·ubuntu
_Emma_41 分钟前
【QCOM】CAMSS架构中CSi与CSIPHY驱动结构
linux·图像处理·视频编解码
程序员JerrySUN42 分钟前
Jetson边缘嵌入式实战课程第五讲:Jetson Secure Boot - 安全启动
android·linux·服务器·人工智能·安全·unity·游戏引擎
夕除1 小时前
spring boot 14
xml·spring boot·redis
穷人小水滴1 小时前
ssh-bridge: 在 Linux 虚拟机中转发消息的简单实现 (UNIX socket)
linux·ssh·unix
AI服务老曹1 小时前
深度解析企业级高并发视频云架构:基于 Docker 与 GB28181/RTSP 协议栈的边缘计算平台(附源码交付实践)
docker·架构·音视频
齐齐大魔王1 小时前
Linux-网络抓包
linux·运维·网络