PT工具之Docker全家桶+HTTPS详细配置教程

一、前言

因为使用Docker的隔离性、可移植性比较好,所以自己使用的服务一般都使用Docker部署,这样每次迁移时将挂载的目录备份即可,不需要考虑机器的版本和兼容性,更换设备时基本可以做到一键迁移,而且升级镜像也比较方便。

这次的教程是将PT下载中的一些常用应用都使用docker部署,将之聚合到一篇文章,方便自己查看,也希望能够帮助到有相同需求的朋友。

二、服务简介

(一)服务种类

这次介绍的服务有下面几种:

  • 阿里云DDNS
  • Nginx
  • qBittorrent
  • Transmission
  • IYUUPlus
  • 迅雷快鸟

所有服务均采用docker-compose进行部署,也就是只需要个docker-compose.yml,在Linux环境下,比如盒子里,只需要使用docker-compose up -d命令即可直接运行,在NAS环境下更简单,以威联通为例,点击创建应用程序,将docker-compose.yml中的内容粘贴进去即可,无需任何额外配置。

比如我的威联通的服务基本全部采用docker进行配置:

Containers

Linux环境的docker的安装可以参考我的这篇文章:https://blog.youkuaiyun.com/shangyexin/article/details/103910923

(二)适合对象

本文中的内容因为涉及到DDNS和Nginx反向代理,所以最适合的用户是有公网IP和域名的朋友;如果没有的话,可以跳过DDNS和Nginx,直接看相关服务的部署,同时服务部署完成后,需要在内网访问。

如果你符合下面所有条件,恭喜你,你就是本文最佳目标读者:

  • 喜欢使用Docker部署服务
  • 有动态公网IP
  • 有域名
  • 会申请证书
  • 需要使用https

(三)网络架构

主要服务的网络架构如下:

network

因为如果你要在外网使用服务的话,使用http就等于裸奔,你网络链路上的任何一个环节都可以看到你输入的账号和密码,所以墙裂建议使用https

几块钱买一个域名,然后证书的申请很简单,阿里和腾讯都有免费的一年证书,动手能力再强一点的,可以使用Let's Encrypt自动颁发证书,自动续期。

三、服务部署

好了,啰里啰唆这么多,终于到了我们服务部署的环节。

(一)阿里云DDNS

1.前提条件

DDNS相信已经不需要我详细介绍,简单点说就是你的公网IP每次拨号后会改变,每次IP改变后自动将你的域名解析到新的IP,这样你只要访问你的域名,就可以持续访问到你的服务。

前提条件:

  • 有公网IP
  • 已经在阿里云购买域名
  • 已经获取AccessKey

关于AccessKey的获取可以参考我的这篇文章:

https://blog.youkuaiyun.com/shangyexin/article/details/105572102

2.配置文件

docker-compose.yml参考:

version: '3.2'

services:
  ddns:
    image: chenhw2/aliyun-ddns-cli
    container_name: ddns
    restart: always
    environment:
      AKID: 获取到的AccessKey ID
      AKSCT: 获取到的AccessKeySecret
      DOMAIN: 你要解析的域名
      REDO: 60

3.创建容器

这里以威联通为例,打开Container Station,点击创建,点击创建应用程序,将上面的yml中内容粘贴进去即可,验证OK后点击创建。

create

(二)Nginx

这里的Nginx主要作用是对其他服务进行反向代理,我们和Nginx之间的通信采用https加密,Nginx和内网的服务采用http进行通信,这样有下面几个好处:

  • Nginx一般比服务自带的https兼容性好
  • 证书统一管理,同一个域名只需要部署一份证书
  • 方便后期证书升级更换
  • 内网可以正常使用http访问服务,防止https配置错误时无法访问服务

1.准备工作

去你购买域名的服务商处申请证书,然后选择Nginx服务器证书下载,一般是一个pem文件和一个key文件。

2.使用docker部署nginx

这里我们使用host模式部署nginx,这样后期可以直接进行代理而不需要再expose新的端口。

需要注意的是,下面的/share/CACHEDEV3_DATA/Docker/路径前缀需要替换为你机器的实际路径,建议所有Docker部署的服务放到统一的文件中进行管理,也方便我们后期进行备份。

这里有2个路径需要我们关注:

  • /share/CACHEDEV3_DATA/Docker/nginx/conf.d:nginx配置文件夹,后面所有服务的配置文件都在这里新增
  • /share/CACHEDEV3_DATA/Docker/nginx/ssl:SSL证书文件夹,我们的证书文件需要放到这个目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值