AnyLink是啥
首先AnyLink是啥,懂得都懂,不懂的应该也不会来看这篇文章了。有想知道的可以看一下作者的Github。传送门在此。
有啥要注意的
以下为典型的指定挂载目录的docker启动方式:
docker run -itd --name anylink --privileged \
-p 443:443 -p 8800:8800 \
--restart=always \
bjdgyc/anylink \
-v /root/anylink:/app/conf
# ^^把本地目录/root/anylink映射到容器目录/app/conf
其中server.toml
是指定的配置文件。Github上给出的sample内容如下:
#数据文件
db_type = "sqlite3"
db_source = "./conf/anylink.db"
#证书文件
cert_file = "./conf/vpn_cert.crt"
cert_key = "./conf/vpn_cert.key"
files_path = "./conf/files"
log_level = "debug"
#系统名称
issuer = "XX公司VPN"
#后台管理用户
admin_user = "admin"
#pass 123456
admin_pass = "$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke"
jwt_secret = "abcdef.0123456789.abcdef"
#服务监听地址
server_addr = ":443"
#后台服务监听地址
admin_addr = ":8800"
有些小伙伴可能会在3~7行的地方指定自己的数据库和证书路径。这里有几点要注意:
- Docker启动不支持绝对路径。请确保指定文件被置于执行启动命令的目录下(可以有次级文件夹)。
- 特别注意:无论有没有次级文件夹,前面的
./conf/
一定不能少。
配置案例
假设在/root/anylink
执行docker启动命令。/root/anylink
内文件结构是这样的:
/root/anylink
|- server.toml
|- anylink.db
|- profile.xml
|- private.key
|- cert.crt
|- files/
那么server.toml
的path部分应该写成这样:
# 略略略
db_source = "./conf/anylink.db"
cert_file = "./conf/cert.crt"
cert_key = "./conf/private.key"
files_path = "./conf/files"
# 略略略
如果不这么写,容器启动后会因为找不到证书文件而循环重启。