好玩的Docker容器

refargotohp-29JBoNy1rhE-unsplash.jpg

安装

官方

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

国内

daocloud 一键安装命令

1
curl -sSL https://get.daocloud.io/docker | sh

错误

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See ‘docker run –help’.

问题:没有启动,找不到线程

解决:启动Docker即可

service docker start

Aria2Pro

特点

使用 Aria2 完美配置方案
BT 下载率高、速度快
重启后不丢失任务进度、不重复下载
删除正在下载的任务自动删除未完成的文件
下载错误自动删除未完成的文件
下载完成自动删除控制文件(.aria2后缀名文件)
下载完成自动删除种子文件(.torrent后缀名文件)
下载完成自动删除空目录
BT 下载完成自动清除垃圾文件(文件类型过滤功能)
BT 下载完成自动清除小文件(文件大小过滤功能)
有一定的防版权投诉、防迅雷吸血效果
更好的 PT 下载支持
使用 Aria2 Pro Core 项目最新静态编译二进制文件
多平台:amd64, i386, arm64, armhf(VPS、群辉、树莓派等常见平台完美支持)
全功能:Async DNS, BitTorrent, Firefox3 Cookie, GZip, HTTPS, Message Digest, Metalink, XML-RPC, SFTP
单服务器线程数最大值无上限(已破解线程数限制)
防掉线程优化
内存消耗优化
读写性能优化
最新依赖库,下载更安全、稳定、快速
持续更新最新版本
支持与 RCLONE 联动
自动上传 OneDrive 、Google Drive 等网盘
百度网盘转存到其它网盘
多网盘自由选择
支持新一代互联网协议 IPv6
下载完成自动移动文件到指定目录(文件自动归档/分类)
定时自动更新 BT tracker 列表(无感知、无重启),保持 BT 下载高速率
用户文件权限自动配置功能
配置文件持久化,支持使用 watchtower 更新容器。
极简设计,专注下载,简单易用,少即是多。

启动

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=1m \
--network host \
-e PUID=$UID \
-e PGID=$GID \
-e RPC_SECRET=e28B41F3dkotu0RPvKgOGYXcDrJlHpwN \
-e RPC_PORT=6800 \
-e LISTEN_PORT=6888 \
-v $PWD/aria2-config:/config \
-v /var/www/download:/downloads \
p3terx/aria2-pro

Qbittorrent

特点

全平台架构x86-64、arm64、arm32
默认简体中文
做了usermapping,使用你自己的账户权限来运行,这点对于群辉来说尤其重要
纯qBittorrent,没有包含多于的服务
基于linuxserver/qbittorrent,每周构建一次,同步更新最新版本qbittorrent
开放了BT下载DTH监听端口、BT下载监听端口(TCP/UDP 6881),加快下载速度
默认开启DHT,加速下载
内置400多条最新trackers(来自XIU2 / TrackersListCollection,感谢)
默认上海时区 Asia/Shanghai

启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
docker run -d  \
--name=qbittorrent \
--log-opt max-size=1m \
--network host \
-e WEBUIPORT=8080 \
-e PUID=1026 \
-e PGID=100 \
-e TZ=Asia/Shanghai \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8080:8080 \
-v $PWD/qbittorrent-config:/config \
-v /var/www/download:/downloads \
--restart unless-stopped \
superng6/qbittorrent:latest
#NLbMEPFSa6gDd1J39oAjWmk5pRvyTH2c

Nginx

准备

1.拉取镜像

docker pull nginx:latest

2.创建配置文件夹和网站目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#启动一个容器
docker run -d --name nginx nginx
# 查看 容器 获取容器ID 或直接使用名字
docker ps
# 在当前目录下创建目录:conf
mkdir -p /docker-config/nginx
# 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录($PWD 当前全路径)
docker cp nginx:/etc/nginx/nginx.conf /docker-config/nginx
docker cp nginx:/etc/nginx/conf.d /docker-config/nginx

# 停止容器
docker container stop nginx
# 删除容器
docker container rm nginxs

# 创建目录网站目录
mkdir -p /var/www/download

# 修改配置文件 /docker-config/nginx/conf.d/default.conf
# 开启目录浏览
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;

启动

1
2
3
4
5
6
7
docker run -d -p 80:80  \
--name nginxweb \
-v /var/www/download:/usr/share/nginx/html \
-v /docker-config/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker-config/nginx/conf.d:/etc/nginx/conf.d \
-v /docker-config/nginx/logs:/var/log/nginx \
nginx

T

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#启动一个容器
secret=$(head -c 16 /dev/urandom | xxd -ps)
tag="12345678901234567890121231231231"
domain="intl.cloud.tencent.com"
docker run --name mtproxy -d -e tag="$tag" -e secret="$secret" -e domain="$domain" -e ip_white_list="OFF" -p 8088:80 -p 8083:443 ellermister/nginx-mtproxy:latest

# ip_white_list 可选参数为:
# IP 允许单个 IP 访问
# IPSEG 允许 IP 段访问
# OFF 允许所有 IP 访问
# 查看 容器 获取容器ID 或直接使用名字
docker logs mtproxy
# 在当前目录下创建目录:conf
mkdir -p /docker-config/mtg
# 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录($PWD 当前全路径)
docker cp mtg:/config.toml /docker-config/mtg

https://t.me/proxy?server=<YOUR_IP>&port=<PORT>&secret=<SECRET>

https://github.com/ellermister/mtproxy

参考