查看docker容器ip地址命令

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

1.配置docker-compose.yml文件

(源站:https://github.com/FranzKafkaYu/x-ui

version: '3.9'
services:
    x-ui:
        network_mode: host
        image: 'enwaiax/x-ui:alpha-zh'
        restart: unless-stopped
        container_name: x-ui
        volumes:
            - './cert/:/root/cert/'
            - './db/:/etc/x-ui/'

随后docker-compose up -d启动容器
默认用户名密码admin,默认端口54321


2.搭建节点

  • vmess+ws
  • 点击入站列表
  • 添加入站备注输入vmess+ws
  • 协议选择vmess
  • 点击+号添加一个用户
  • 将网络改成ws
  • 复制ID前面一小段粘贴到路径(注意前面的斜杠不要删掉了)
  • 点击添加

第一种vmess+ws的节点就搭建好了
vmess+ws


  • vless+vision
  • 点击添加入站备注填入vless+vision
  • 点击添加用户
  • 打开tls
  • flow选择vision
  • 将这个IP地址的3个点改成3个减号
  • 在结尾加上.nip.io
  • 安装acme
curl https://get.acme.sh | sh; apt install socat -y; ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
  • 申请证书
~/.acme.sh/acme.sh  --issue -d 107-172-101-204.nip.io --standalone -k ec-256 --force --insecure
  • 安装证书
~/.acme.sh/acme.sh --install-cert -d 107-172-101-204.nip.io --ecc --key-file /root/docker/xui/cert/server.key --fullchain-file /root/docker/xui/cert/server.crt
  • 由于是docker做了文件夹映射,其实际路径应为:
  • 密钥文件路径/root/cert/server.key
  • 公钥文件路径/root/cert/server.crt

第二种vless+vision的节点就搭建好了
vless+vision


  • vless+vision+reality
  • 点击添加入站备注填入vless+vision+reality
  • 端口改成443
  • 点击加号添加一个用户
  • 开启reality
  • flow改成vision
  • 将目标网站的网址部分改成1.1.1.1
  • 注意保留结尾的冒号443
  • 复制ID前面一小部分
  • 粘贴到可选域名 结尾加上.com 点击添加

第三种vless+vision+reality的节点就搭建好了
vless+vision+reality


3.伪装站点并反代

  • 部署Dockerfile文件
FROM nginx
# Install Certbot
RUN apt-get update && apt-get install -y certbot python3-certbot-nginx
# Expose HTTP and HTTPS ports 
EXPOSE 80 443
# Start Nginx and Certbot
CMD ["nginx", "-g", "daemon off;"]
  • 部署docker-compose文件
version: '3.9'
services:
    nginx-certbot:
        build: ./certbot
        image: nginx-certbot
        network_mode: host
        volumes:
            - ./nginx/html:/usr/share/nginx/html
            - ./nginx/conf.d:/etc/nginx/conf.d
        ports:
            - 443:443
            - 80:80
        container_name: nginx
  • 配置conf.d文件