标签 Docker 下的文章

前言

目前因为自己搭建的服务站点比较多,自己不能实时的监控服务的在线状态,有问题也没办法及时收到通知,不能及时修复和更新服务。

所以准备搭建一个在线监控服务,当然也可以不用自己搭建,直接使用【UptimeRobot】也可以。

网上搜索了一番,有很多监控服务,最终选择了Uptime Kuma,因为Uptime Kuma是开源的,并且搭建、使用起来非常简单方便

其实是实在不知道 Euserv VS2-free 还能干什么
弃之可惜 食之无味

准备工作

服务器需安装docker环境,本文以Euserv VS2-free 为例
没安装的可参考文章 - [Euserv|德鸡 VS2-free 安装Docker教程 [2]](https://www.nodeseek.com/post-46969-1)

使用Nginx 反代服务即可使用域名直接访问 Uptime Kuma

GitHub地址:https://github.com/louislam/uptime-kuma

Docker镜像地址:https://hub.docker.com/r/louislam/uptime-kuma

搭建方式

推荐用 Docker 的方式进行搭建

创建目录

mkdir -p /eoyz369/docker/

cd /eoyz369/docker/
根据自身情况选择是否创建目录,小编只是为了方便管理

一键安装:

docker run -d --restart=always -p 3001:3001 -v $PWD/uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:latest

创建nginx目录结构

mkdir -p /home/nginx

touch /home/nginx/nginx.conf

mkdir -p /home/nginx/certs

申请证书

curl https://get.acme.sh | sh

~/.acme.sh/acme.sh --register-account -m 你的邮箱

因为是Euserv|德鸡 VS2-free纯IPV6所以要加上--listen-v6

~/.acme.sh/acme.sh --issue -d 你的域名 --standalone  --listen-v6

下载证书

~/.acme.sh/acme.sh --installcert -d 你的域名 --key-file /home/nginx/certs/key.pem --fullchain-file /home/nginx/certs/cert.pem

nginx配置模板

  • 查看uptime-kuma容器网络
docker inspect uptime-kuma | grep IPAddress

image

 "IPAddress": "172.17.0.2"
  • 修改 /home/nginx/nginx.conf nginx.conf文件

events {
    worker_connections 1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    client_max_body_size 1000m;
    #上传限制参数1G以内文件可上传

server {
    listen 80;
    listen [::]:80;
    server_name 你的域名;
    return 301 https://$host$request_uri;
}


server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name 你的域名;
    ssl_certificate /etc/nginx/certs/cert.pem;
    ssl_certificate_key /etc/nginx/certs/key.pem;

location / {
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass         http://获取的IPAddress:3001/;
    proxy_http_version 1.1;
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection "upgrade";
    }
}
}


启动nginx

docker run -d --name nginx --restart=always -p 80:80 -p 443:443 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/certs:/etc/nginx/certs -v /home/nginx/html:/usr/share/nginx/html nginx:latest

image
image

补充|让Docker 支持 IPV6

官方文档中提到 IPv6 的支持很简单,需要修改 /etc/docker/daemon.json

{
  "ipv6": true,
  "fixed-cidr-v6": "fd00::/64",
  "ip6tables": true,
  "experimental": true
}

然后,重启Docker守护程序,以应用更改
sudo systemctl restart docker

Euserv|德鸡 VS2-free 安装Docker教程 [2]

前言

解决出现 OCI runtime create failed

亲测重装系统后发现遇到出现 OCI runtime create failed问题
如果你也遇到一样的问题可以试试!
查遍全网找到了解决办法
感谢Github的@fscarmen 的脚本工具
让我完善了自己的安装笔记


当前操作系统: Ubuntu20.04-64bit-minimal

处理器架构: Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz

虚拟化:lxc

安装步骤

更新软件包列表

apt update

安装wget工具

apt install wget

WARP获取IPV4出站一键脚本

wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh [option] [lisence/url/token]

一键安装Docker命令

apt install docker.io

安装Docker 可视化界面

portainer-ce镜像 https://hub.docker.com/r/6053537/portainer-ce

一键安装代码

docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

查看容器是否正常运行:docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

9da035a981e5 6053537/portainer-ce "/portainer" 1 minutes ago Up 1 minutes 8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp portainer

这样就是运行成功

特殊情况

出现这个不用担心

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: unable to join session keyring: unable to create session key: disk quota exceeded: unknown

守护脚本

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/EU_docker_Up.sh)

让它后台慢慢帮你启动即可
可以去睡觉一觉睡醒后
检测容器是否启动成功:docker ps

完成安装

浏览器输入 [IP地址]:9000