kk Blog —— 通用基础

date [-d @int|str] [+%s|"+%F %T"]

docker 容器里使用systemctl命令

error 1

bash: service: command not found

1
yum install initscripts -y

error 2

System has not been booted with systemd as init system (PID 1). Can’t operate.

容器的命令:

1
docker run -d --name centos_1 -it  centos:latest /bin/bash

需要修改为

1
docker run -tid --name centos_1 --privileged=true centos:latest /sbin/init

也就是加–privileged=true,修改/binbash 为/sbin/init

Docker容器进入的4种方式

https://www.cnblogs.com/xhyan/p/6593075.html

创建一个守护态的Docker容器

1
$ sudo docker run -itd ubuntu:14.04 /bin/bash  

进入Docker容器比较常见的几种做法如下:

一、使用docker exec进入Docker容器

1
2
$ sudo docker ps  
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash

二、使用docker attach进入Docker容器

1
$ sudo docker attach 44fc0f0582d9  

使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。

因为这个原因,所以docker attach命令不太适合于生产环境,平时自己开发应用时可以使用该命令。

三、使用SSH进入Docker容器

四、使用nsenter进入Docker容器

docker proxy

https://www.jianshu.com/p/b26fad1534d9

该方法适用于Debian/Ubuntu,RedHat/CentOS系统。修改配置后,会持续生效,其中的设置将覆盖docker.service中的选项

创建目录

1
mkdir -p /etc/systemd/system/docker.service.d

添加网络代理配置文件

1
vim /etc/systemd/system/docker.service.d/http-proxy.conf

加入如下配置

proxy-addr为代理IP或域名;proxy-port为代理端口;NO_PROXY后面接不需要代理的仓库的域名或者IP,以英文逗号结尾

1
2
[Service]
Environment="HTTP_PROXY=http://proxy-addr:proxy-port" "HTTPS_PROXY=http://proxy-addr:proxy-port" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

重载配置并重启dockers服务

1
2
systemctl daemon-reload
systemctl restart docker

mysql 查看连接数

查看当前所有连接的详细资料:

1
mysqladmin -uadmin -p processlist

只查看当前连接数(Threads就是连接数.):

1
mysqladmin -uadmin -p status

连接进程

1
2
3
4
5
6
7
8
9
10
11
mysql -uroot -p

mysql> show full processlist 查看所有连接进程,注意查看进程等待时间以及所处状态 是否locked


mysql> show variables like '%_connections';

max_user_connections  这个就是单用户的连接数
max_connections       这个是全局的限制连接数

mysql> set global max_connections = 152;

CI使用cookie

第一种设置cookie的方式:采用php原生态的方法设置的cookie的值

1
2
3
4
setcookie("user_id",$user_info['user_id'],86500);
setcookie("username",$user_info['username'],86500);
setcookie("password",$user_info['password'],86500);
//echo $_COOKIE['username'];

第二种设置cookie的方式:通过CI框架的input类库设置cookie的值

1
2
3
4
5
6
7
$this->input->set_cookie("username",$user_info['username'],60);
$this->input->set_cookie("password",$user_info['password'],60);
$this->input->set_cookie("user_id",$user_info['user_id'],60);
//echo $this->input->cookie("password");//适用于控制器
//echo $this->input->cookie("username");//适用于控制器
//echo $_COOKIE['username'];//在模型类中可以通过这种方式获取cookie值
//echo $_COOKIE['password'];//在模型类中可以通过这种方式获取cookie值

第三种设置cookie的方式:通过CI框架的cookie_helper.php辅助函数库设置cookie的值

1
2
3
4
set_cookie("username",$user_info['username'],60);
set_cookie("password",$user_info['password'],60);
set_cookie("user_id",$user_info['user_id'],60);
//echo get_cookie("username");

删除cookie:通过CI框架的cookie_helper.php辅助函数删除cookie

1
2
3
4
delete_cookie("username");
delete_cookie("password");
delete_cookie("user_id");
header("location:".site_url("common/login"));