在docker中进行日志切割

先在Linux中安装docker,然后在docker中安装appnode面板,并进行docker网络端口映射。接着进入docker,进行nginx日志切割。

安装docker

第一步,卸载旧版本docker。

若系统中已安装旧版本docker,则需要卸载旧版本docker以及与旧版本docker相关的依赖项。

命令:yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

第二步,安装gcc依赖。

命令:yum -y install gcc gcc-c++

第三步,使用docker仓库进行安装。

在新主机上首次安装docker Engine-Community之前,需要设置docker仓库。之后,可以从仓库安装和更新docker。

# 设置仓库,安装所需的软件包。

命令:yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置稳定的仓库,使用官方源地址(比较慢)

命令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 可以选择国内的一些源地址,如阿里云

命令:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 可以选择国内的一些源地址,如清华大学源

命令:yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

第四步,安装docker Engine-Community。

# 更新yum软件包索引

命令:yum makecache

# 安装最新版本的docker Engine-Community和containerd

命令:yum -y install docker-ce docker-ce-cli containerd.io

# 查看docker-ce是否成功安装

命令:yum list docker-ce

 

docker安装完默认未启动,并且已经创建好docker用户组,但该用户组下没有用户。

# 列出存储库中可用的版本并按版本号从高到低进行排序

命令:yum list docker-ce --showduplicates | sort -r

# 通过其完整的软件包名称安装特定版本,如docker-ce-24.0.0。

命令:yum -y install docker-ce-24.0.0 docker-ce-cli-24.0.0 containerd.io

第五步,启动docker。

命令:systemctl enable docker

systemctl start docker

systemctl restart docker

若结果显示“Job for docker.service failed because the control process exited with error code.See "systemctl status docker.service" and "journalctl -xe" for details.”,则运行如下命令:

systemctl daemon-reload

systemctl restart docker.service

第六步,验证docker Engine-Community是否正确安装。

命令:docker version

docker run hello-world

若结果显示“Unable to find image 'hello-world:latest' locally”,则需要按照下面的步骤来解决:

1)创建文件daemon.json文件。

命令:touch /etc/docker/daemon.json

2)配置文件/etc/docker/daemon.json,添加阿里云镜像。

 

{"registry-mirrors": ["https://ufxq8t1x.mirror.aliyuncs.com"]}

3)重启docker服务。

命令:systemctl restart docker

systemctl status docker

再次验证:docker run hello-world

若结果显示“Hello from docker!”,则说明docker安装成功。

进行docker网络端口映射

第一步,创建执行网络端口映射容器。

# 设置面板端口号为8888

命令:docker run -dit --restart=always \

--privileged=true \

--cap-add SYS_ADMIN \

-e container=docker \

--network bridge \

-p 8888:8888 \

-p 443:443 \

-p 80:80 \

-p 3306:3306 \

-p 21:21 \

-v /data:/data \

--name appnode \

sbwml/appnode:latest \

/usr/sbin/init

第二步,列出本地所有的镜像。

命令:docker images -a

第三步,列出当前所有正在运行的镜像。

命令:docker images

第四步,从docker中删除镜像。

命令:docker rmi [镜像ID或容器名称]

# 从docker中强制删除镜像

命令:docker rmi -f [镜像ID或容器名称]

# 通过docker images -p查询到的镜像ID来删除所有镜像

命令:docker rmi -f $(docker images -p)

第五步,列出所有的容器。

命令:docker ps -a

第六步,列出当前所有正在运行的容器。

命令:docker ps

第七步,删除容器。

命令:docker rm [容器ID或容器名称]

# 从docker中强制删除容器

命令:docker rm -f [容器ID或容器名称]

# 删除多个容器

命令:docker rm -f $(docker ps -a -q)

第八步,访问appnode面板。

登录网址:http://x.x.x.x:8888/login,如果页面成功显示“APPNODE 轻松运维 从此开启”,则说明appnode面板安装成功并且docker网络端口映射成功。

利用原始账号:admin,原始密码:admin,登录appnode面板。

 

登录appnode面板之后,可以点击页面左上角“节点管理”,然后安装受控端,确保受控端在线以及实时监控CPU、内存、存储和网络。

 

登录appnode面板之后,点击左侧“应用列表”中的“软件管家”,然后点击“网站管理”的安装按钮,接着点击“立即安装”。

 

若结果显示“patch-2.7.1-12.el7_7.x86_64: [Errno 256] No more mirrors to try.”和“[Errno 14] HTTP Error 404 - Not Found”,则可以通过下面的方法来解决这个问题:

1)进入appnode容器。

命令:docker ps

docker exec -it [容器ID] /bin/bash

2)进入/etc目录,备份yum.repos.d。

命令:mv /etc/yum.repos.d /etc/yum.repos.d.bak

3)下载上传新的yum.repos.d。

 

4)退出appnode容器。

5)重启docker服务。

6)登录appnode面板之后,重新下载网站管理。

若结果如下图所示,则说明网站管理安装成功。

 

接下来,按照上面的步骤安装nginx和php。

进行nginx日志切割

第一步,进入/var/lib/docker/overlay2/xxxxxxxxx/merged目录,一一查看有没有下面的文件夹以及文件,如果该目录下没有下面的文件夹以及文件,那么需要下载上传下面的文件夹以及文件到对应的目录下面:

/etc/cron.d/etc/cron.daily/etc/cron.hourly/etc/cron.monthly/etc/cron.weekly/etc/pam.d/crond/etc/sysconfig/crond/etc/systemd/system/multi-user.target.wants/crond.service/etc/anacrontab/etc/crontab/etc/logrotate.conf/usr/bin/crontab/usr/lib/systemd/system/crond.service/usr/sbin/crond/usr/sbin/logrotate/var/lib/logrotate/logrotate.status

第二步,配置/etc/cron.daily。

编辑/etc/cron.daily,把“/usr/bin/logger -t logrotate”修改为“/usr/bin/logger -f logrotate”。

第三步,重启docker服务。

命令:命令:systemctl restart docker

systemctl status docker

第四步,进入appnode容器。

命令:docker ps

docker exec -it [容器ID] /bin/bash

第五步,赋予crontab和crond可执行权限。

命令:chmod +x /usr/bin/crontab

chmod +x /usr/sbin/crond

chmod +x /usr/sbin/logrotate

第六步,强制切割nginx日志。

命令:/etc/cron.daily/logrotate -f /etc/logrotate.d/nginx

若/var/log/nginx中的日志可以正常切割,则说明在docker可以强制切割nginx日志。

第七步,进行定时设置。

命令:crontab -e

添加以下代码:

55 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf

# 查看是否写入

命令:crontab -l

# 重新启动定时任务

命令:systemctl restart crond

# 查看nginx日志切分的效果

命令:ll /var/log/nginx

卸载docker

# 卸载docker

命令:systemctl stop docker

yum remove docker-ce docker-ce-cli containerd.io

# 删除安装包

命令:yum remove docker-ce

# 删除镜像、容器、配置文件等内容

命令:rm -rf /var/lib/docker

rm -rf /var/lib/containerd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/400505.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书生大模型实战营-基础关-XTuner 微调个人小助手认知

XTuner 微调个人小助手认知 环境配置模型效果预览微调数据准备微调配置微调训练权重格式转换模型合并页面对话 环境配置 # 创建虚拟环境 conda create -n xtuner0812 python3.10 -y# 激活虚拟环境(注意:后续的所有操作都需要在这个虚拟环境中进行&#…

Docker搭建Minio容器

Docker搭建Minio容器 前言 在上一集我们介绍了分布式文件存储行业解决方案以及技术选型。最终我们决定选用Minio作为分布式文件存储。 那么这集我们就在Docker上搭建Minio容器即可。 Docker搭建Minio容器步骤 创建Minio文件目录 我们选择创建/minio/data目录 修改目录权…

40.x86游戏实战-找出XXX遍历周围的类型

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

【C#】中IndexOf的用法

在 C# 中&#xff0c;IndexOf 方法是字符串和列表&#xff08;如 List<T>&#xff09;等数据结构中常用的方法&#xff0c;用于查找指定元素或子串首次出现的位置。以下是针对不同情况使用 IndexOf 的示例。 对于字符串 对于字符串类型&#xff0c;IndexOf 方法返回子字…

scanpy切换显示颜色总结

函数实现 import scanpy as sc adata sc.datasets.pbmc68k_reduced() print(adata) sc.pl.umap(adata,color["bulk_labels"])def change_show_color(adata,label,category_listNone,color_listNone):for i in range(len(color_list)):if(len(color_list[i])7):colo…

【人工智能】Transformers之Pipeline(九):物体检测(object-detection)

目录​​​​​​​ 一、引言 二、物体检测&#xff08;object-detection&#xff09; 2.1 概述 2.2 技术原理 2.3 应用场景 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4.2 pipeline对象使用参数 2.4 pipeline实战 2.5 模型排名 三、总结 一、引言 pipel…

Chromium编译指南2024 - Android篇:前置要求(一)

1.引言 欢迎阅读《Chromium编译指南2024 - Android篇》。本指南旨在帮助开发者理解和掌握在Android平台上编译Chromium的全过程。Chromium是一个开源的浏览器项目&#xff0c;由Google主导开发&#xff0c;并为多个现代浏览器提供基础代码。Android作为全球使用最广泛的移动操…

[Meachines] [Medium] Magic SQLI+文件上传+跳关TRP00F权限提升+环境变量劫持权限提升

信息收集 IP AddressOpening Ports10.10.10.185TCP:22,80 $ nmap -p- 10.10.10.185 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 06:d4:89:bf:51:…

redis面试(九)锁重入和互斥

可重入 1&#xff09;如果一开始这个锁是没有的&#xff0c;第一次来加锁&#xff0c;这段lua脚本会如何执行&#xff1f; "if (redis.call(‘exists’, KEYS[1]) 0) then " "redis.call(‘hset’, KEYS[1], ARGV[2], 1); " "redis.call(‘pexpi…

[0CTF 2016]piapiapia1

打开题目 看到登录口 字符串绕过长度限制strlen($_POST[nickname]) > 10

C语言中的结构体和位移段

在C语言中&#xff0c;结构体&#xff08;struct&#xff09;是一种用户自定义的数据类型&#xff0c;允许我们将不同类型的变量组合在一起&#xff0c;形成一个复合数据类型。结构体可以包含整型、浮点型、字符型等多种数据类型的成员。例如&#xff0c;我们可以定义一个表示人…

进程的退出函数及线程

函数wait (1)获取子进程退出状态 &#xff08;2&#xff09;回收资源销毁僵尸态子进程 #include <sys/types.h> #include <wait.h> int wait(int *status) 函数功能是&#xff1a;父进程一旦调用了wait就立即阻塞自己&#xff0c;由wait分析是否当前进程的某…

新160个crackme - 030-Acid Bytes.4

运行分析 需要破解Name和Serial PE分析 upx壳&#xff0c;32位 linux系统upx -d 脱壳 脱壳后发现是Delphi程序 静态分析&动态调试 ida搜索字符串&#xff0c;找到Your Name must be at least 6 Chars long !&#xff0c;双击进入 发现地址为红色&#xff0c;即函数未定义 选…

数据结构:顺序二叉树(堆)

目录 前言 一、堆的实现 1.1 头文件 1.2 堆的初始化及销毁 1.3 堆的插入 1.4 堆的删除 1.5 取堆顶数据和判空 前言 前面我们讲了二叉树有顺序结构和链式结构&#xff0c;今天就来讲一下顺序结构 普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间…

C:每日一题:二分查找

1、知识介绍&#xff1a; 1.1 概念&#xff1a; 二分查找是一种在有序数组中查找某一特定元素的搜索算法 1.2 基本思想&#xff1a; 每次将待查找的范围缩小一半&#xff0c;通过比较中间元素与目标元素的大小&#xff0c;来决定是在左半部分还是右半部分继续查找。 举个生…

servlet基础操作(get)

1&#xff0c;首先创建一个javaweb的项目 简历一般的java项目选中项目&#xff0c;双击shift出现搜索栏 找到这个框架&#xff0c;选择里面的javaweb&#xff0c;注意选择右侧版本显示为4.0的javaweb 之后部署Tomcat 我这里是本地&#xff0c;所以在本地选的是local 第一步实…

文心快码 Baidu Comate 前端工程师观点分享:行业现状(二)

本系列视频来自百度工程效能部的前端研发经理杨经纬&#xff0c;她在由开源中国主办的“AI编程革新研发效能”OSC源创会杭州站105期线下沙龙活动上&#xff0c;从一款文心快码&#xff08;Baidu Comate&#xff09;前端工程师的角度&#xff0c;分享了关于智能研发工具本身的研…

期望薪资3k,面试官笑了但没说话

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…

江科大/江协科技 STM32学习笔记P21

文章目录 ADC模数转换器ADC简介逐次逼近型ADCSTM32的ADCADC基本结构输入通道转换模式单次转换&#xff0c;非扫描模式连续转换&#xff0c;非扫描模式单次转换&#xff0c;扫描模式连续转换&#xff0c;扫描模式 触发控制数据对齐转换时间校准硬件电路电位器产生可调电压的电路…

DC-4靶机

扫描IP 端口扫描 目录扫描 访问80端口&#xff0c;发现一个登录界面 爆破密码 hydra -l admin -P rockyou.txt 192.168.254.153 http-post-form "/login.php:username^USER^&password^PASS^:Slogout" -F-l admin&#xff1a;指定用户名为 admin。 -P rockyou.t…