docker总结

其他

chrome自动跳转https:地址栏输入chrome://net-internals/#hsts,底部Delete domain security policies,输入域名,点击delete。

ubuntu18.04下安装docker及安装portainer

DaoCloud|Docker 极速下载(多平台)

sudo apt install docker.io
sudo docker version //查看版本
sudo systemctl start docker //启动Docker
sudo systemctl status docker //查看Docker启动状态(绿色active)
sudo systemctl enable docker //允许Docker自启动
docker -v //查看是否安装成功
//-------以下为Docker-compose安装
//Compose网站:https://docs.docker.com/compose/
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose //安装Docker-compose
sudo chmod +x /usr/local/bin/docker-compose //安装Docker-compose
sudo docker-compose --version //安装完成后查看版本
//-------结束
sudo docker search portainer
sudo docker pull portainer/portainer 
sudo docker run -d --name portainerUI -p 8000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
//8000:9000该语句用宿主机8000端口关联容器中的9000端口(宿主机9000已分配给virtualbox的远程使用)
//路由器增加8000的端口映射,然后访问http://www.zjzj.xyz:8000即可
sudo docker update --restart=always portainerUI //开机自启动,portainerUI为容器名字

ps:容器可以看成是一个单独的系统(好比VirtualBox里的虚拟机系统),8000:9000,就是virtualbox网络设置里的端口映射
ps:因使用portainer管理docker,所以设置为自启动,其余的按需设置
路由设置转发:路由器8000->物理机8000的端口映射(未注明均为TCP)

docker安装huginn

sudo docker search huginn
sudo docker pull huginn/huginn
sudo docker run -it -p 3000:3000 huginn/huginn

默认登录账号admin,密码password
路由设置转发:路由器3000->物理机3000的端口映射

docker安装seafile社区版6.3.4

sudo docker search seafile
sudo docker pull seafileltd/seafile
sudo docker run -d --name seafile \
  -e SEAFILE_SERVER_HOSTNAME=www.zjzj.xyz \
  -v /home/app/seafile:/shared \
  -p 8001:80 \
  seafileltd/seafile:latest

路由设置转发:路由器8001->物理机8001的端口映射
网页登陆后修改系统设置:
SERVICE_URL:http://www.zjzj.xyz:8001
FILE_SERVER_ROOT:http://www.zjzj.xyz:8001/seafhttp
这样就可以正常上传下载了

增加一个新的管理员

确保各容器正常运行,然后执行以下命令:

sudo docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh

根据提示输入用户名和密码,您现在有了一个新的管理帐户。

升级 Seafile 服务

如果要升级 Seafile 服务到最新版本:

sudo docker pull seafileltd/seafile-mc:latest
sudo docker-compose down
sudo docker-compose up -d

aria2

项目地址:https://hub.docker.com/r/johngong/aria2

sudo docker pull johngong/aria2
sudo docker create  \
   --name=aria2  \
   -p 6881:6881  \
   -p 6881:6881/udp  \
   -p 6800:6800  \
   -p 8002:80  \
   -e RPC_SECRET=安全起见最好设置个密匙 \
   -v /home/app/aria2/config:/config  \
   -v /home/app/aria2/Downloads:/Downloads  \
   --restart unless-stopped  \
   johngong/aria2:latest
sudo docker start aria2

路由设置转发:路由器6800->物理机6800的端口映射(aria2端口)
路由设置转发:路由器8002->物理机8002的端口映射(AriaNg端口)
路由设置转发:路由器6881->物理机6881的端口映射(bt端口,TCP/UDP)

minidlna

sudo docker pull vladgh/minidlna
sudo docker run -d --net=host \
  -p 8200:8200 \
  -v /home/app/aria2/Downloads:/media \
  -e MINIDLNA_MEDIA_DIR=/media \
  -e MINIDLNA_FRIENDLY_NAME=MyMini \
  vladgh/minidlna

这个命令未给容器命名,可以通过进入Portainer修改名称为dlna便于识别
内网使用,这里不设置路由转发,vpn连接到家里,直接输入nas服务器ip地址:8200即可访问,具体操作参考:路由器padavan开启vpn服务器

如果存在多个媒体目录,那么参考下面自行添加多个目录

sudo docker run -d --net=host \
  -p 8200:8200 \
  -v <media dir on host>:/media/audio \
  -v <media dir on host>:/media/video \
  -e MINIDLNA_MEDIA_DIR_1=A,/media/audio \
  -e MINIDLNA_MEDIA_DIR_2=V,/media/video \
  -e MINIDLNA_FRIENDLY_NAME=MyMini \
  vladgh/minidlna

Jellyfin

ps:U-NAS 3.1.0系统不支持硬解(输出为card0 controlD64);实测J1900在U-NAS 3.1.0下不支持,在Ubuntu Server 18.04.3 LTS下支持,输出为card0 renderD128

首先查看系统是否支持显卡硬解转码,ssh连接nas,输入

ls /dev/dri

输出card0 renderD128则说明支持显卡硬解

68116-0yewuxxs8w4.png

sudo docker pull jellyfin/jellyfin
sudo docker run -d --name jellyfin \
-v /home/app/jellyfin/config:/config \
-v /home/app/jellyfin/cache:/cache \
-v /home/app/aria2/Downloads:/video \
-p 8096:8096 \
-p 8920:8920 \
--device=/dev/dri/renderD128 \
jellyfin/jellyfin

-v 参数表示装载文件夹。第2-4行请根据实际情况更改。
第2-3行指定两个文件夹分别作为配置文件和缓存文件地址
第4行指定aria2下载文件夹为Jellyfin的媒体文件夹

检查容器的Jellyfin是否硬解(输出同前面即说明挂载成功)

sudo docker exec -it jellyfin /bin/bash //进入容器
ls /dev/dri

路由设置转发:路由器8096->物理机8096的端口映射
这里的8096端口和8920端口,分别是用于jellyfin的http和https访问使用,因为没开https,所以映射8096端口即可
Jellyfin网页后台启用硬件转码功能[硬件加速选择:Video Acceleration API (VA API)(experimental) ,并勾选“启用硬件解码” ]

69253-mxyy5y6irx.png

其余设置参考

Tor(包含obfs4、meek)

sudo docker pull niruix/tor
sudo docker run --detach \
  --publish 9050:9050 \
  --name tor \
  --env TOR_CUSTOM_CONFIGURATION="$(cat tor.conf)" \
  niruix/tor:latest

此时运行的容器肯定是连不上的tor网络的,因为默认没有meek混淆

sudo docker cp tor:/torrc /home/app/tor
//把上部生成的默认配置复制出来修改,添加网桥
...
UseBridges            1
Bridge obfs4 185.120.77.129:443 3218F7484BD3456A44351F61ED6F71164605EFE3 cert=r78FCpxq/CZIiWQ0k4gnv9J1sBly5vAxOCUHW+I8m9rA8s73lgGHTYFVHaB5f+p1pH6DWg iat-mode=0
Bridge obfs4 94.242.249.4:9904 E25A95F1DADB739F0A83EB0223A37C02FD519306 cert=j530B23jE9LX81BOl/cqdjaTVMOXSjPDxevcwq6jKVvnDgvQk/4Gsqfmnc8/wAFzAqtRWg iat-mode=0
Bridge obfs4 50.3.72.238:443 EF870A94B09A90C3C5E3BD6115C33635CDE5D100 cert=u/Q/4VXrf6SbGbBMyApndlDdRh8DWa4HYM6ijjeEI60ZZbfFzcpULJ/VlXxM0o/elsfxEg iat-mode=0
Bridge meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com
Bridge meek 192.81.135.242:7443 A2C13B7DFCAB1CBF3A884B6EB99A98067AB6EF44
//保存后复制回docker,注意此镜像的torrc文件路径;完成后在重启镜像
sudo docker cp /home/app/tor/torrc tor:/usr/local/etc/tor/torrc

进入portainer,在进入log查看启动信息,待出现以下信息,即表示tor运行成功

Oct 31 13:28:52.000 [notice] Bootstrapped 100% (done): Done

meek、obfs4获取地址:https://bridges.torproject.org/
其他文章参考:docker下安装tor+Privoxy

代理检测

curl --connect-timeout 3 -x 192.168.1.4:4444 http://ip.3322.net //http代理检测,返回ip地址,或http://google.com,返回html代码
curl --socks5 192.168.1.4:9050 http://ip.3322.net //socks5代理检测

i2pd

sudo docker pull ksey/i2pd
sudo docker run --name i2pd -d -p 7070:7070 -p 4444:4444 -p 4447:4447 -p 7656:7656 -v /home/app/i2pd:/var/lib/i2pd ksey/i2pd

默认的docker容器并未开启出口选项,此时浏览器设置代理后并不能访问google,修改i2pd.conf如下

[httpproxy]
...//省略
outproxy = http://false.i2p
[socksproxy]
...//省略,socks出口是配合tor使用的
outproxy.enabled = true
## Address and port of outproxy
outproxy = 127.0.0.1
outproxyport = 9050

Web访问http://host-ip:7070,http代理http://host-ip:4444,socks代理http://hostname:4447;等待一段时间后即可访问
路由设置转发:路由器7070->物理机7070的端口映射(web端口)
路由设置转发:路由器44x->物理机4444的端口映射(HTTP端口,4444好像封掉了)
路由设置转发:路由器44x->物理机4447的端口映射(SOCKS端口,TCP/UDP,4447好像封掉了)
路由设置转发:路由器7656->物理机7656的端口映射(SAM端口)

docker问题排除

sudo docker exec -it seafile /bin/bash //进入seafile容器
netstat -tpln //查看容器端口
sudo docker logs -f seafile //docker运行日志

提示OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown
是由于在docker中没有base命令,可以将base改为sh

docker exec -it mysql sh

其他文章

使用Docker启动数据库及nginx等
Ubuntu18.04安装Docker CE、Huginn及错误解决

添加新评论

已有 5 条评论

为什么我用J1900可以硬解jellyfin。
但是用J3455就不能硬解,求教。

我是docker运行的,就是按文章的顺序操作的;请教下J1900是如何设置硬解呢?

留个联系方式我加你吧

QQ:65822406

已加