当前位置: 首页 > 工具软件 > SocketLog > 使用案例 >

生成带有socketlog的docker镜像,并使用

阳博赡
2023-12-01

生成带有socketlog的镜像

1.准备一个空容器
docker run -d -p 8087:80 -v /data/svn_data/with-socketlog:/var/www/html -v /data/logs:/data/logs --name with-socketlog registry.cn-beijing.aliyuncs.com/base-doing/centos-nginx-phalcon-stdout:latest

2.进入容器,进行安装
docker ps -a 查看容器ID
docker exec -it e4089619e4ee bash 进入容器

cp -r SocketLog-master/ /home (SocketLog-master目录放在了/data/svn_data/with-socketlog里面,所以这直接用)
cp -r node-v10.15.1-linux-x64/ /home(SocketLog-master目录放在了/data/svn_data/node-v10.15.1-linux-x64里面,所以这直接用)

cd /home/
ln -s /home/node-v10.15.1-linux-x64/bin/node /usr/bin/
node -v
ln -s /home/node-v10.15.1-linux-x64/bin/npm /usr/bin/
npm -v

nohup node /home/SocketLog-master/server/index.js > /dev/null & (后台运行socketlog)

ps aux | grep node

3.退出容器,提交安装有socketlog的容器
exit
docker commit e4089619e4ee liweiwei/with-socketlog

4.拉取刚刚生成的镜像,测试socketlog功能
docker run -d -p 8088:80 -p1229:1229 -v /data/svn_data/with-socketlog:/var/www/html -v /data/logs:/data/logs --name socketlogtest liweiwei/with-socketlog (注意绑定1229端口哦)

5.进入镜像,运行socketlog

docker exec -it 7c731cd3b702 bash

nohup node /home/SocketLog-master/server/index.js > /dev/null &

6.程序调用试试,将下面代码放到入口文件

if(!function_exists(‘slog’)){
include ‘/home/SocketLog-master/php/slog.function.php’;

//配置
slog(array(
    'host'                => 'localhost',//websocket服务器地址,默认localhost
    'optimize'            => true,//是否显示利于优化的参数,如果运行时间,消耗内存等,默认为false
    'show_included_files' => true,//是否显示本次程序运行加载了哪些文件,默认为false
    'error_handler'       => true,//是否接管程序错误,将程序错误显示在console中,默认为false
    'force_client_ids'    => array(//日志强制记录到配置的client_id,默认为空,client_id必须在allow_client_ids中
        'with-so',
        //'client_02',
    ),
    'allow_client_ids'    => array(//限制允许读取日志的client_id,默认为空,表示所有人都可以获得日志。
        'with-so',
        //'client_02',
        //'client_03',
    ),
),'config');//输出日志

}

slog(’-----hello world--------’);

slog(‘msg’,‘log’); //一般日志
slog(‘msg’,‘error’); //错误日志
slog(‘msg’,‘info’); //信息日志
slog(‘msg’,‘warn’); //警告日志
slog(‘msg’,‘trace’);// 输入日志同时会打出调用栈
slog(‘msg’,‘alert’);//将日志以alert方式弹出
slog(‘msg’,‘log’,‘color:red;font-size:20px;’);//自定义日志的样式,第三个参数为css样式

7.浏览器下载socketlog扩展,配置好client_id

 类似资料: