---首先使用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