分类 默认分类 下的文章

进入 mysql5.7 容器

sudo docker exec -it mysql5.7 bash

mysql -uroot -p123456

创建用户,密码随意

mysql> create user '239239'@'%' identified by '123456';
mysql> grant all privileges on *.* to '239239'@'%' with grant option;
mysql> flush privileges;

创建数据库
mysql> create database 239239;

下载哪吒 nezha-agent_linux_arm.tar.gz
哪吒
上传ROOT目录给于权限

chmod 755 nezha-agent

设置开机自起

cd /etc/init.d

touch S96nezha
chmod 755 S96nezha
echo "sleep 10" >> S96nezha
echo "cd" >> S96nezha
echo "/root/nezha-agent -s 面板网址:接收端口 -p 唯一秘钥 -d" >> S96nezha

玩客云重启

1.编译openwrt

Target System 选择 QEMU ARM VIrtual Machine
Subtarget 选择 ARMv8 multiplatform
其它的随意
  1. 编译好的openwrt,会生成 rootfs 打包文件:
    openwrt-armvirt-64-default-rootfs.tar.gz
  2. 在装好armbian和docker的N1上,把openwrt-armvirt-64-default-rootfs.tar.gz和Dockerfile放到同一个目录下
  3. 制造镜像
    (示例用的是openwrt by lean r9.7.6源码,因此镜像名称为:openwrt-arm64 版本为 r9.7.6
    docker build -t openwrt-arm64:r9.7.6 .
    即可生成镜像
    用docker images,可以查看到已生成的镜像
    用docker save openwrt-arm64:r9.7.6 | gzip > docker-image-openwrt-arm64-r9.7.6.tar.gz 可以把镜像导出成打包文件
    用 gzip -dc docker-image-openwrt-arm64-r9.7.6.tar.gz | docker load ,可以把打包文件还原成docker镜像
  4. 运行镜像:
    可以参见 https://www.jianshu.com/p/e62190cfff1a?tdsourcetag=s_pcqq_aiomsg
    重点:
    a. 物理网卡要开启混杂模式(promisc),有临时生效型(命令)和永久生效型(要改网络配置文件)
    b. docker创建macvlan网络
    c. 用macvlan网络绑定docker容器
    d. 物理机和openwrt容器在同一网段,但不同ip
    e. macvlan模式下,物理机和openwrt容器之间是ping不通的,这是正常现象,但第三方电脑都能ping通两者

示例:

docker创建macvlan网络,名为macnet

docker network create -d macvlan --subnet=192.168.3.0/24 --gateway=192.168.3.1 -o parent=eth0 macnet

用macnet运行openwrt实例,实例名为phicomm-n1

引用armbian的通用函数包

source /usr/lib/armbian/armbian-common

得到一个随机MAC地址,存入MACADDR变量

get_random_mac

docker run --name phicomm-n1 --restart always --network macnet --mac-address $MACADDR -d --privileged=true --ulimit nofile=16384:65536 openwrt-arm64:r9.8.17

进入op容器,修改/etc/config/network

docker exec -it phicomm-n1 sh
vi /etc/config/network

修改下面这段:
config interface 'lan'

    option ifname 'eth0'
    option proto 'static'
    option netmask '255.255.255.0'
    option gateway '192.168.3.1'
    option ipaddr '192.168.3.20'
    option broadcast '192.168.3.255'
    option ip6assign '64'
    option dns '192.168.3.1'

注:192.168.3.1是主路由的地址

   192.168.3.20是openwrt自己的地址,也就是旁路由的地址
    broadcast和dns也做相应更改

改好后,存盘,运行:
/etc/init.d/network restart
过一会就可以ping通旁路由了,然后用浏览器连上192.168.3.20就可以按一般的操作了

示例 frps
创建一个文件夹 frp

mkdir frp && cd frp

编辑Dockerfile文件

nano Dockerfile

下面代码复制粘贴

FROM alpine
MAINTAINER Stille 

ENV FRP_VERSION 0.38.0
WORKDIR /

RUN set -xe && \
    apk add tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    apk del tzdata

RUN set -x && \
    if [ "$(uname -m)" = "x86_64" ]; then export PLATFORM=amd64 ; else if [ "$(uname -m)" = "aarch64" ]; then export PLATFORM=arm64 ; fi fi && \
    wget --no-check-certificate https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_${PLATFORM}.tar.gz && \ 
    tar xzf frp_${FRP_VERSION}_linux_${PLATFORM}.tar.gz && \
    cd frp_${FRP_VERSION}_linux_${PLATFORM} && \
    mkdir /frp && \
    mv frps frps.ini /frp && \
    cd .. && \
    rm -rf *.tar.gz frp_${FRP_VERSION}_linux_${PLATFORM}

VOLUME /frp

CMD /frp/frps -c /frp/frps.ini

生成docker镜像

docker build -t mydaoke/frps:0.38 .

mydaoke/frps:0.38修改自己的名称
查看生成docker镜像

docker images

试运行一下

docker run --restart=always --network host -d -v /root/frp/frps.ini:/frp/frps.ini --name frps mydaoke/frps:0.38

Ok

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add - 
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee -a /etc/apt/sources.list.d/caddy-stable.list
    sudo apt update
    sudo apt install caddy

证书位置

   cd /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/

配置文件路径

/etc/caddy/Caddyfile

修改配置后 重新加载配置

反向代理

www.psvmc.cn {
    reverse_proxy localhost:9000
}

修改配置后 重新加载配置

systemctl reload caddy

Ubuntu
sudo systemctl restart caddy