使用 TikTokDownloader项目的docker来完成下载直播数据
项目地址:https://github.com/JoeanAmier/TikTokDownloader
我的目的是使用docker来运行,避免污染了本地环境。在使用过程中有一些心得,写出来,存档
Docker 容器
获取镜像
方式一:使用 Dockerfile 文件构建镜像
方式二:使用 docker pull joeanamier/tiktok-downloader 命令拉取镜像
方式三:使用 docker pull ghcr.io/joeanamier/tiktok-downloader 命令拉取镜像
创建容器:docker run --name 容器名称(可选) -p 主机端口号:5555 -v tiktok_downloader_volume:/app/Volume -it <镜像名称>
注意:此处的 <镜像名称> 需与您在第一步中使用的镜像名称保持一致(例如 joeanamier/tiktok-downloader 或 ghcr.io/joeanamier/tiktok-downloader)
运行容器
启动容器:docker start -i 容器名称/容器 ID
重启容器:docker restart -i 容器名称/容器 ID
Docker 容器无法直接访问宿主机的文件系统,部分功能不可用,例如:从浏览器读取 Cookie;其他功能如有异常请反馈!
心得:使用该方法前,
首先,一键安装docker
其次,要让docker能访问外网。否则docker拉取不到该镜像
再次,由于拉取的镜像内部没有安装ffmpeg所以无法下载直播流,还需要重新封装镜像,把ffmpeg安装好之后再封装成新镜像。
自己写一个只有几行代码的 Dockerfile,以你下载的镜像作为基础镜像(FROM)来构建:
在你的电脑上新建一个空文件夹douyindownloader-v2,在里面创建一个名为 Dockerfile 的文件。
写入以下内容:
Dockerfile
# FROM 后面填你下载的原镜像名字
FROM joeanamier/tiktok-downloader:latest
追加安装 ffmpeg(以 Debian/Ubuntu 系统为例)
USER root
RUN apt-get update && apt-get install -y ffmpeg && rm -rf /var/lib/apt/lists/*
在该文件夹下打开终端,运行构建命令:
Bash
docker build -t my-tiktok-downloader:v2 .
再次,创建容器
sudo docker run --name doyindownloaderv2 -p 5556:5555 -v douyin_downloader_volume:/app/Volume -it my-tiktok-downloader:v2
然后,设置coockie。
由于是在docker中运行,无法直接获取到cookie需要将获取的cookie写到配置文件中
配置文件的位置:sudo vi /var/lib/docker/volumes/douyin_downloader_volume/_data/settings.json
cookie的获取:在 筛选器 输入框输入 cookie-name:odin_tt
将该值保存到settings.json的cookie字段中。