切换root用户 sudo su
查看CentOS版本 lsb_release -a
查看系统内核 uname -r
查看系统配置 cat /etc/os-release
更新yum软件包索引 yum makecache faster
切换到部署目录: cd /data/cdad-jar
创建目录:mkdir 目录名
查看运行的jar包进程:ps -ef | grep cdad.jar
停掉jar包进程: kill -9 进程号
删除以前的jar包 :rm cdad.jar
删除目录:rm -rf 目录名
上传jar包: rz 乱码 rz -e
守护进程启动jar包:nohup java -jar cdad.jar & 备注:回车
查看启动日志:tail -f nohup.out
查看文件:cat startup.sh
制作启动脚本:
#!/bin/sh
nohup java -jar -Xms1024m -Xmx2048m cdad.jar >./logs/out.log &
(初始化内存:Xms1024m 最大内存: Xmx2048m)
nohup java -jar sports-manage-api.jar --server.port=8081 & 加端口
制作完启动脚本后启动项目:./startup.sh
查看历史执行命令 history |grep sports-manage-api.jar
查看端口使用:netstat -tlunp
修改权限:chmod 777
重启服务器:shutdown -r now
关机 : shutdown -h now
下载文件:sz cdad.jar
打印最后5000行日志:tail -n 5000 catalina.out
查看磁盘空间:df -h
查看内存:free -g free -h
删除目录:rm -rf cdad
删除多余日志:1.cd logs/ 2.rm -rf *
以M查看文件大小:ls -lh(ll 默认是以字节(B)为单位)
删除多余日志:1.cd logs/ 2.rm -rf *
查看文件前100行 cat filename.txt | head -n 100
查看文件后50行 cat filename.txt | tail -n 50
根据关键字查询日志 cat spring.log |grep 关键字
查询关键字前后10行日志 cat spring.log |grep e35b8a47a461b935 -C 10
zcat spring.log.2022-04-14.0.gz |grep 折扣卡 -C 10 |grep 货架 -C 1
cat app.log | grep -C 5 '关键字' (显示日志里匹配字串那行以及前后5行)
cat app.log | grep -B 5 '关键字' (显示匹配字串及前5行)
cat app.log | grep -A 5 '关键字' (显示匹配字串及后5行)
tomcat
ps -ef|grep tomcat
kill -9
./startup.sh
cpu核数:grep 'core id' /proc/cpuinfo | sort -u | wc -l
cpu线程数:grep 'processor' /proc/cpuinfo | sort -u | wc -l
手动清除缓存echo 3 > /proc/sys/vm/drop_caches
docker是个client-server 结构的系统,docker的守护进程运行在主机上,通过socket从客户端访问。 dockerServer接收到docker-client的指令,就会执行这个命令。
docker的基本组成
镜像(image):
docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,Tomcat镜像=>run=>tomact01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
容器(container):
docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。启动,停止,删除,基本命令。 目前就可以把这个容器理解为就是一个简易的Linux系统
仓库(repository):
仓库就是存放镜像的地方。仓库分为公有仓库和私有仓库。 docker hub(默认是国外的) 阿里云..都有容器服务器(配置镜像加速)
帮助命令
查看docker容器版本 docker version
查看docker容器信息 docker info
查看docker容器帮助 docker --help
镜像命令
查看所有本地的主机上的镜像 docker images
搜索镜像 docker search mysql
下载镜像 docker pull mysql 制定版本 docker pull mysql:5.7
删除镜像
docker rmi 镜像id #删除指定的镜像 docker rmi -f 镜像id 镜像id #删除多个镜像
docker rmi -f $(docker images -aq) 删除全部的镜像
容器命令
说明:我们有了镜像才可以创建容器
新建容器并启动
docker run [可选参数] image
#参数说明
--name='Name' 容器名字 tomcat01 tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 制定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随机指定端口
--rm 用完删除
-e 环境配置修改
列出所有运行的容器
docker ps -a #列出当前正在运行的容器+带出历史运行过的容器 -n=? #显示最近创建的容器 -q #只显示容器的编号
退出容器
exit 直接容器停止并退出
Ctrl+P+Q 容器不停止退出
删除容器
docker rm 容器id #删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器的操作
docker start 容器ID #启动容器
docker restart 容器ID #重启容器
docker stop 容器ID #停止当前正在运行的容器
docker kill 容器ID #强制停止当前容器
后台启动容器
docker run -d centos 问题 docker ps 发现 centos 停止了
常见的坑:docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止 nginx容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs -tf ---tail 10 容器ID
查看容器中进程信息
docker top 容器id
查看镜像的元数据
docker inspect 容器id
docker exec -it 容器ID bashshell 进入当前正在运行的容器,进入后开启新的终端,可以在里面操作
docker attach 容器ID 进入当前正在运行的容器,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的的主机路径
docker stats 查看CPU的状态
commit镜像
docker commit -m="提交的描述信息" -a="作者" 容器ID 目标镜像名:[TAG]
容器数据卷:容器的持久化和同步操作!容器间也是可以数据共享的!
查看所有数据卷的情况 docker volume ls
容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地。这就是卷技术。目录的挂载,将我们容器内的目录,挂载到Linux上面。
方式一:直接使用命令来挂载 -v
docker run -it -v 主机目录:容器内目录
匿名挂载
-v 容器内路径
具名挂载
-v 卷名:容器内路径
查看一下这个卷信息
docker volume inspect juming-nginx
所有的docker容器内的卷,没有指定目录的情况下都在 /var/lib/docker/volumes/xxxx/_data
指定路径挂载
-v /宿主机路径:容器内路径
通过 -v 容器内路径:ro rw 改变读写权限
ro #只读 rw #可读可写
ro只能通过宿主机来操作,容器内部是无法操作
dockerFile就是用来构建docker镜像的构建文件,命令脚本,通过这个脚本可以生成镜像,镜像是一层一层的,脚本一个个的命令,每个命令都是一层
构建步骤:
1、编写一个dockerfile文件
2、docker build构建成为一个镜像
3、docker run 运行镜像
4、docker push发布镜像(dockerHub、阿里云镜像仓库)
构建过程
基础知识
1、每个保留关键字(指令)都是必须是大写字母
2、执行从上到下顺序执行
3、#表示注释
4、每一个指令都会创建提交一个新的镜像层,并提交
dockerfile:构建文件,定义了一切的步骤,源代码
dockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品
docker容器:容器就是镜像运行起来提供服务器
dockerfile的指令
FROM #基础镜像,一切从这里开始构建
WAINTAINER #镜像是谁写的,姓名+邮箱
RUN #镜像构建的时候需要运行的命令
ADD #可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的
WORKDIR #镜像的工作目录
VOLUME #挂载的目录
EXPOST #保留端口配置
CMD #指定这个容器启动的时候要运行的命令,只有最后一个会生效。可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD #当构建一个被继承dockerfile这个时候就会运行ONBUILD的指令,触发指令
COPY #类似ADD,COPY指令只能从执行docker build所在的主机上读取资源并复制到镜像中。而ADD指令还支持通过URL从远程服务器读取资源并复制到镜像中
ENV #构建的时候设置环境变量
K8S日志查询
kubectl get pod -n smart-test
kubectl logs -f 容器名称 -n smart-test
kubectl logs xxx -n smart-test|grep 'xxx'