1.下载对应版本

https://mariadb.org/download/?t=repo-config&d=CentOS+8+%28x86_64%29&v=10.8&r_m=blendbyte

2.安装

dnf install MariaDB-server

3.启动

systemctl start mariadb

systemctl enable mariadb

4.初始化

mariadb-secure-installation

5.配置文件

/etc/my.cnf.d/

 

1.安装压测工具

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench

2.创建测试数据库

CREATE DATABASE test_db;
CREATE USER 'test_user'@'127.0.0.1' IDENTIFIED BY 'test_user';
GRANT ALL ON test_db.* TO 'test_user'@'127.0.0.1';
flush privileges;

3.创建测试数据

sysbench --db-driver=mysql --time=30 --threads=50 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=5 --table_size=1000000 oltp_read_write --db-ps-mode=disable prepare

参数解释:
–db-driver=mysql:基于mysql的驱动去连接mysql数据库,如果是oracle,或者sqlserver,那自然就是其他的数据库的驱动了
–time=30:这个就是说连续访问30秒
–threads=50:这个就是说用50个线程模拟并发访问
–report-interval=1:这个就是说每隔1秒输出一下压测情况
–mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user:这个是说连接到哪台机器的哪个端口上的MySQL库,他的用户名和密码是什么
–mysql-db=test_db --tables=5 --table_size=500000:这个是说在test_db这个库里,构造5个测试表,每个测试表里构造50万条测试数据
oltp_read_write:这个就是说,执行oltp数据库的读写测试
–db-ps-mode=disable:这个是禁止ps模式
prepare:意思是参照这个命令的设置去构造出来我们需要的数据库里的数据,他会自动创建5个测试表,每个表里创建50万条测试数据。
 

4. 开始测试

sysbench --db-driver=mysql --time=30 --threads=50 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=5 --table_size=500000 oltp_read_write --db-ps-mode=disable run

oltp_write_only:测试写入性能
oltp_read_write : 测试读写性能
oltp_read_only:测试只读性能
oltp_delete:测试删除性能
oltp_update_index: 测试更新索引字段性能
oltp_update_non_index: 测试更新非索引字段性能
oltp_insert: 测试插入性能
 

5.结果

read: 273602 的意思是在30s的压测期间执行了27万多次的读请求
write: 78172 的意思在压测期间执行了差不多8万次的写请求
other: 39086 的意思是在压测期间执行了差不多4万次的其他请求
total: 390860 的意思是一共执行了39万多次的请求
transactions: 19543 ( 650.89 per sec. ) 的意思是一共执行了差不多2万万个事务,每秒执行650.89多个事务
queries: 390860 (13017.74 per sec. ) 的意思是一共执行了39万多次的请求,每秒执行1万3千多请求
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
// 下面就是说,一共执行了30s的压测,执行了差不多两万的事务
General staticstics:
total time: 30.0240s
total number of events: 19543
Latency (ms):
min: 3.80 意思是请求中延迟最小的是3.80ms
avg: 76.77 意思是所有请求平均延迟是76.77ms
max: 710.73 意思是延迟最大的请求是710.73ms
95th percentile: 262.64 意思是95%的请求延迟都在262.64 ms以内
 

6.清理测试数据

sysbench --db-driver=mysql --time=300 --threads=50 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=5 --table_size=500000 oltp_read_write --db-ps-mode=disable cleanup

 

现象:
docker import镜像导入正常,但docker run时报错。

docker import .\essv1.tar ess:v1

docker run -d --name ess --privileged=true -p22:22 -p8080:8080--entrypoint /usr/sbin/init ess:v1
9f2c851e54e4a30564139931bae64fc06432b73328d3b5f189b27f96c716af3e

报错:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/usr/sbin/init": stat /usr/sbin/init: no such file or directory: unknown.

网上找到的各个帖子也都没说到点子上,一开始以为是权限问题,又或者是漏打包了导致文件不存在, 折腾了一天都没找到解决的办法,后来终于发现原因,记录下防止别人踩同样的坑。

差异:
两者输出的虽然都是tar,但save的和export的包结构不一样,用解压软件看,一个是按linux文件系统结构,一个多层tar,每个tar是一个增量。

原因:
一句话:因为生成的镜像用的是docker save生成的,导入用的是docker import,虽然可以导入,但这镜像docker run时会出显示上的错,改用docker load 就能正常。

这两种tar结构应该被区别处理,docker最好是有个提示。





作者:熊半介

链接:https://www.jianshu.com/p/11d0abfeeef8

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1.打包系统

tar  --exclude=proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/home/my_repos0104.svn.bak --exclude=/root/soft --exclude=/data  --exclude=/var/lib/docker --exclude=gitlab --exclude=yapi -cvpf centos8-base.tar /

2.导入镜像 

 docker import centos8-base.tar centos8

3.启动容器

docker images

docker run -itd --privileged 9b804cbbf12c /usr/sbin/init

docker ps -a

#进入容器

docker exec -it b32f3788ea49 bash 

4.从容器打包镜像

docker container ls

docker commit -a "jetsong" -m "update" 9108124eca43  centos8:v1

docker images
docker save -o /data/bak/centos8_v1.tar centos8:v1

5.导入

docker import D:\centos8_export_v3.tar centos8:v3

docker load -i /Volumes/sn750/centos8_v4.tar

启动容器

docker run -p 80:80 -p 3306:3306 -p 1883:1883 -p 22:22 -v C:\Users\jetsong\Documents\docker_path\admin_center:/data/htdocs/admin-center -v C:\Users\jetsong\Documents\docker_path\eam_server:/data/service/eam-server -v C:\Users\jetsong\Documents\docker_path\ngix_conf:/usr/local/service/nginx/conf   -itd --privileged c056d4466b31 /usr/sbin/init

 

docker run -p 80:80 -p 3306:3306 -p 1883:1883 -p 22:22 -v D:\docker_path\htdocs:/data/htdocs -v D:\docker_path\eam-server:/data/service/eam-server -v D:\docker_path\nginx_conf:/usr/local/service/nginx/conf   -itd --privileged 120a366dbf60 /usr/sbin/init

 

docker run -p 80:80 -p 3306:3306 -p 1883:1883 -p 22:22 -p 8088:8088 -p 8089:8089 -p 8090:8090 -v D:\docker_path\htdocs:/data/htdocs -v D:\docker_path\eam-server:/data/service/eam-server -v D:\docker_path\nginx_conf:/usr/local/service/nginx/conf   -itd --privileged 120a366dbf60 /usr/sbin/init

 

docker run -p 80:80 -p 3306:3306 -p 1883:1883 -p 22:22 -p 8088:8088 -p 8089:8089 -p 8090:8090  -itd --privileged 120a366dbf60 /usr/sbin/init

mac

docker run  -itd --privileged 120a366dbf60 /usr/sbin/init

1.brew install privoxy

2.vim /usr/local/etc/privoxy/config
3.
listen-address 0.0.0.0:8118
forward-socks5 / localhost:1086 .
4.sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
netstat -na | grep 8118
5.vim ~/.zshrc
function proxy_off(){
    unset http_proxy
    unset https_proxy
    echo -e "已关闭代理"
}

function proxy_on() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    export http_proxy="http://127.0.0.1:8118"
    export https_proxy=$http_proxy
    echo -e "已开启代理"
}

6.source  ~/.zshrc
brew services start privoxy

先启动 provixy 软件
brew services start privoxy
然后 启动代理
proxy_on

curl ip.gs