skip to content
寻找莉莉丝

服务器内存爆了以后...

/ 3 min read / 次阅读

前言

cloud over 第一次把服务器折腾坏了,不得不重装系统。

ssh 警告

用 ssh 登录时遇到了警告错误: warning 原因是远程主机更新系统导致公钥发生变化,而 ssh 服务是通过密钥来建立连接的,此时要更新密钥,先删除原来对应 IP 下的公钥:

ssh-keygen -R XX.XX.XX.XX

XX.XX.XX.XX 为服务器 IP 地址。

然后,重新 ssh 登录,输入 yes 重新添加地址到 known hosts 中: login

免密登录

把本地用户的公钥保存到服务器中,下次可以免密登录:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

ssh-copy-id 这条指令实际上等于:

ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

在服务器的 .ssh/authorized_keys 文件中可以看到本地用户的公钥: authorized_keys

安装 Docker 和 Docker Compose

在 ubuntu 上安装 Docker 的官方教程:https://docs.docker.com/engine/install/ubuntu/

Ubuntu 最新的 22 版本在腾讯云上很慢,又重装了 20 的才正常安装上 Docker。

Docker 配置修改

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘。

cat > /etc/docker/daemon.json <<EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

Docker 镜像加速

编辑 daemon.json

nano /etc/docker/daemon.json
{
	"registry-mirrors": [
		"https://mirror.ccs.tencentyun.com",
		"https://ung2thfc.mirror.aliyuncs.com",
		"https://registry.docker-cn.com",
		"http://hub-mirror.c.163.com",
		"https://docker.mirrors.ustc.edu.cn"
	]
}

重启 Docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

查看 Docker 内存占用情况

查看 Docker 内存占用情况:

  • docker stats:查看运行中的容器的资源占用情况,包括内存、CPU、网络等。

  • docker top <container_id>:查看指定容器的进程列表和资源使用情况。

  • docker stats --no-stream <container_id>:查看指定容器的资源占用情况,不实时更新。

  • docker stats --format "<format_string>":自定义输出格式,可以指定要显示的字段。

  • docker inspect --format='{{.Config.Memory}}' <container_id>:查看容器的内存限制。