排查服务器内存,使用docker管理

---首先使用top命令查看当前内存的占用情况(top命令会打印出五行数据,往后为各个进程的运行情况)

---使用docker ps --all可以查看所有的docker容器(重新启用或者删除)

---本次主要关注第四行内存的情况

表头含义
free空闲内存
userd使用内存
buff/cache内核缓存内存

---通过 ps -ef | grep 名称的方式可以查看相关进程

    排查后发现是之前部署的为知笔记占用过高,考虑到该服务器没有过多的重要文件与部署,决定采用docker管理

----------------------------------以下为安装docker的操作------------------------------------

//卸载原有的docker
yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
//安装yum工具包
yum install -y yum-utils
//设置镜像地址为阿里云

sudo yum-config-manager \
     --add-repo \
     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//更新索引
yum makecache fase

//安装ce社区版
yum install docker-ce docker-ce-cli containerd.io

//启动docker
systemctl  start  docker
//查看docker镜像
docker  images

---------------------------------------------安装mysql与redis--------------------------------------------

linux环境下使用docker安装经典mysql5.7

//拉取mysql镜像
docker pull mysql5.7

 关于配置文件,首先在希望挂载映射的目录下创建conf和data和log三个文件夹,在conf文件夹中放入以下配置:

//文件名为my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

执行以下命令重启 mysql
 

docker restart mysql
//映射端口为3306,这里建议不要改成其他
//--name:设置镜像的名称
//-v:设置文件的映射
//-e: 设置mysql的密码
//最后添加的为启动的镜像名称
docker run -d -p 3306:3306 --name mysql -v /usr/local/programFile/mysql2/log:/var/log/mysql -v /usr/local/programFile/mysql2/data:/var/lib/mysql -v /usr/local/programFile/mysql2/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123450 mysql:5.7

linux环境下使用docker安装最新版redis

docker pull redis
//大致同上 --log表示日志 -restart=always表示开机启动
//-d 表示redis后台启动
//-appendonly yes开启持久化
docker docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /usr/local/programFile/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/programFile/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123450

关于Redis配置文件

//去掉了官网的注释,可以到https://redis.io/docs/management/config/获取
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
# bind 127.0.0.1

protected-mode no

port 6379

tcp-backlog 511

requirepass 000415

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

----------------------------------以下为安装postgres的操作------------------------------------

前情提要:似乎是各大厂商的镜像都中没有postgreSQL的老版本Docker镜像

配置容器镜像服务:登录云账户,搜索获取到镜像地址

//复制service配置文件
cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service
//配置其权限为所有用户均有读写权限
chmod 777 /etc/systemd/system/docker.service

 修改  /etc/systemd/system/docker.service 配置文件的ExecStart属性为获取到的镜像地址

//重新加载配置
systemctl daemon-reload
//重启docker
systemctl restart docker
//使用该命令可以查看是否配置成功,成功如下图
ps -ef | grep docker

无奈只能直接拉取postgreSQL的最新镜像

docker pull postgres

启动postgres的镜像,注意需要先创建对应的文件夹

docker run --name postgresql --privileged -e POSTGRES_PASSWORD=123450 -p 5432:5432 -v usr/local/postgres/data:/var/lib/postgresql/data -d postgres

----------------------------------以下为安装nginx的操作------------------------------------

//拉取镜像
docker pull nginx
//创建对应的nginx配置文件,并且在启动nginx镜像后进行复制
docker run --name nginx -p 9001:80 -d nginx
docker cp nginx:/etc/nginx/nginx.conf /usr/local/programfiles/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /usr/local/programfiles/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /usr/local/programfiles/nginx/
//执行docker ps、docker stop、docker rm三条命令终止上面启用的docker镜像(参数可以为名称或id)
docker run \
 -p 80:80 \
 --name nginx \
 -v /usr/local/programfiles/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
 -v /usr/local/programfiles/nginx/conf/conf.d:/etc/nginx/conf.d \
 -v /usr/local/programfiles/nginx/log:/var/log/nginx \
 -v /usr/local/programfiles/nginx/html:/usr/share/nginx/html \
 -d nginx:latest

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值