Docker系列

发布于 2021-03-27  1,082 次阅读


FileBrowser

docker run --restart=always --name filebrowser -d -v /mnt/ssd1/Data:/srv -v /opt/filebrowserconfig.json:/etc/config.json -v /opt/filebrowser/database.db:/etc/database.db -p 8088:80 filebrowser/filebrowser

--restart=always:docker一启动就启动这个容器

--name filebrowser:本地管理时的容器名

-v /mnt/ssd1/Data:/srv:目录或文件的对应关系,前面是本地目录,后面是对应容器的目录

-p 8088:80:端口对应,前面是我们服务器的端口,对应容器的80端口

fdisk -l                           #检查一下现在的分区结构
mkfs -t ext4  /dev/sda1            #将/dev/sda1格式化为EXT4格式
mkdir /mnt/ssd                     #新建挂载目录
mount /dev/sda1 /mnt/ssd           #挂载硬盘

#永久挂载
vi /etc/fstab      设置系统自动挂载硬盘,加入一行:
/dev/sda1               /mnt/ssd            ext4    defaults        0 0
重启

更新filebrowser的标准版打包with ckplayer版本

https://github.com/langren1353/filebrowser

#修改了一下filebrowser,对其中的视频组件修改变更为了ckplayer
#使用方案和标准filebrowser一样,没有其他区别
#播放中支持二次加载恢复播放进度

touch /data/filebrowser/filebrowser.json
touch /data/filebrowser/database.db
nano /data/filebrowser/filebrowser.json
{
  "address": "0.0.0.0",
  "port": 80,
  "locale": "zh-cn",
  "baseURL": "/",
  "log": "stdout",
  "database": "/database.db",
  "root": "/srv", // 文件管理根目录
  "cert": "/ssl.cer", // 如果不需要 https 请去掉
  "key": "/ssl.key" //   cert 和 key 两行配置
}
docker run --restart=always --name filebrowser -d -v /data/filebrowser/data:/srv -v /data/filebrowser/filebrowser.json:/.filebrowser.json -v /data/filebrowser/database.db:/database.db -p 8888:80 langren1353/filebrowser-ckplayer

默认用户名及密码均为admin

qBittorrent

docker pull linuxserver/qbittorrent
docker run -d  --name=qbittorrent  -e WEBUI_PORT=8080  -p 6881:6881  -p 6881:6881/udp  -p 8080:8080  -v /mnt/ssd1/Data/Downloads:/downloads   -v /opt/qbittorrentconfig:/config  --restart unless-stopped  linuxserver/qbittorrent

-v <宿主机目录>:/downloads

浏览器打开地址http://localhost:8080/

用户名admin

密码adminadmin

签到

docker run -d --name qiandao -p 12345:80 -v /opt/qiandaoconfig:/usr/src/app/config   asdaragon/qiandao

Cookies获取助手 GetCookies Chrome插件:

jd_scripts

原版:

apt install docker-compose
mkdir /opt/jd_scripts
mkdir /opt/jd_scripts/logs

下载default.yml和crontab_list.sh并改名

docker/example/default.yml · lxk0301/jd_docker - Gitee.com

docker/crontab_list.sh · lxk0301/jd_docker - Gitee.com

default.yml <- docker-compose.yml

crontab_list.sh <- my_crontab_list.sh

配置docker-compose.yml并将改名后的两文件上传至/opt/jd_scripts

cd /opt/jd_scripts
docker-compose up -d  #每更新配置文件就需要重新运行一次
docker exec -it jd_scripts /bin/sh -c 'git -C /scripts pull && node /scripts/jd_bean_change.js' #查看账户信息,可用于测试推送是否正常
目录文件配置好之后在jd_scripts目录执行。
docker-compose up -d #启动(修改docker-compose.yml后需要使用此命令使更改生效);
docker-compose logs #打印日志;
docker-compose logs -f #打印日志,-f表示跟随日志; 
docker logs -f jd_scripts #和上面两条相比可以显示汉字; 
docker-compose pull #更新镜像;
docker-compose stop #停止容器;
docker-compose restart #重启容器;
docker-compose down #停止并删除容器;

docker exec -it jd_scripts /bin/sh -c 'git -C /scripts pull && node /scripts/jd_bean_change.js' #手动运行一脚本
docker exec -it jd_scripts /bin/sh -c 'env' #查看设置的环境变量
docker exec -it jd_scripts /bin/sh -c 'crontab -l' #查看已生效的crontab_list定时器任务
docker exec -it jd_scripts sh -c "docker_entrypoint.sh" #手动更新jd_scripts仓库最新脚本
docker exec -it jd_scripts /bin/sh #仅进入容器命令
rm -rf logs/*.log #删除logs文件夹里面所有的日志文件

lxk0301/jd_scripts (docker.com)

opwrt版:

S905x3盒子Openwrt&Armbian – 窝 (uionm.com)

docker pull noreph/jd_dailybonus
docker run -d --name JD --restart=always \
    -e cookie1='shshshfp=xxxxxxxx; shshshfpa=xxxxxxxxxxxx......; mobilev=html5' \
    -e cookie2='shshshfp=ooooooo; shshshfpa=oooooooooo......; mobilev=html5' \
    -e stop=9527 \
    -e cron="*/3 */5 * * *" \
    -e sckey=SCUxxooxxooxxooxxooxxoo \
    -e token=123456789:xxooxxooxxooxxoo \
    -e chatid=1234567890 \
noreph/jd_dailybonus

参数说明

  • cookie1:第一个账号 cookie,需要放在单引号里,必填。
  • cookie2:第二个账号 cookie,需要放在单引号里,选填。
  • stop:自定义延迟签到,单位毫秒。默认为0,选填。
  • cron:定时重签任务,格式参考 Linux crontab 命令,需要放在双引号里。不填则每日随机时间执行。
  • sckeyServer 酱微信推送 SCKEY,不填不生效,选填。
  • token:telegram bot 推送 token,须配合下面 chatid 使用。不填不生效,选填。
  • chatid:同上,二者需要同时填写。

ps:只要填 cookie1 就能正常签到,对于其他参数不懂的可以忽略。

cookie 更新:

docker exec -it JD sh -c "echo 'shshshfp=bbbbb; shshshfpa=aaaaaaa......; mobilev=html5' > cookie1"
docker exec -it JD sh -c "echo 'shshshfp=cccccc; shshshfpa=ddddddd......; mobilev=html5' > cookie2"

由于国内访问http://raw.githubusercontent.com/不太友好,可能需要修改hosts:

nano /etc/hosts

访问https://site.ip138.com/raw.Githubusercontent.com/获取当前解析IP,并修改如下:

185.199.111.133 raw.githubusercontent.com

甜糖

多开部署方法:

docker network ls

ip link set eth0 promisc on

docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 -o parent=eth0 -o macvlan_mode=bridge macnet

docker run -itd \
  -v /mnt/ssd1/ttnode5:/mnts \
  --name ttnode5 \
  --hostname ttnode5 \
  --net=macnet --ip=192.168.50.145 --dns=114.114.114.114 --mac-address C2:F2:9C:C5:B2:05 \
  --privileged=true \
  --restart=always \
  ericwang2006/ttnode

docker logs ttnode5

简单方法:

docker pull ericwang2006/ttnode
docker run -itd \
  -v /mnt/ssd1/ttnode:/mnts \
  --name ttnode \
  --hostname ttnode1 \
  --net=host \
  --privileged=true \
  --restart=always \
  ericwang2006/ttnode
docker logs ttnode

未配置网络的解决方法

主路由配置端口转发

docker update ttnode --memory-swap -1 -m 2080M        #设定内存上限

jellyfin

docker pull jellyfin/jellyfin
docker run -d \
 --name jellyfin \
 -p 8096:8096 \
 --volume /opt/jellyfin/config:/config \
 --volume /opt/jellyfin/cache:/cache \
 -v /mnt/ssd1/Data/Downloads:/HD1 \
 --restart=always \
 jellyfin/jellyfin
docker stop jellyfin
docker commit jellyfin jellyfin2
docker run -d --name jellyfin2  -p 8096:8096  --volume /opt/jellyfin/config:/config --volume /opt/jellyfin/cache:/cache -v /mnt/ssd1/Data/Downloads:/HD1 -v /mnt/OD_Work:/HD2 --restart=always jellyfin2

Emby

docker pull emby/embyserver_arm64v8:4.6.0.3
docker run -d --name emby --restart=always -v /opt/emby/config:/config -v /opt/emby/share1:/mnt/share1 -v /mnt/OD_Work/share2:/mnt/share2 -p 1900:1900 -p 7359:7359 -p 7359:7359/udp -p 8097:8096 -p 8920:8920 --env UID=0 --env GID=0  emby/embyserver_arm64v8:4.6.0.3

最新版貌似有问题


Love is merely a madness.