分享一些我制作的 Docker 镜像,用来搭建开发环境和进行测试,在生产环境里也可以使用。
Docker 里的工具都是使用 clang 编译。
Ubuntu-Toolchains
集成了常用的构建工具,用来作为编译环境,默认使用 clang 作为编译器。
- ubuntu 20.04
- gcc 9
- clang 10
- go 1.14.2
- cmake
- ninja-build
- meson-build
使用方法:
docker pull cntrump/ubuntu-toolchains:20.04
Dockerfile
FROM cntrump/ubuntu-toolchains:20.04 AS builder
Ubuntu-Nginx
根据官方参数使用 clang 重新编译的版本。
- ubuntu 20.04
- nginx 1.18.0
- OpenSSL 1.1.1g
使用方法:
docker pull cntrump/ubuntu-nginx:1.18.0
启动 nginx:
docker run -it --rm -p 80:80 -p 443:443 cntrump/ubuntu-nginx:1.18.0
Ubuntu-FFmpeg
使用 clang 编译,增加了 aac 和 ssl 的支持
- ubuntu 20.04
- FFmpeg 4.2.2
ffmpeg version 4.2.2-lvv.me Copyright (c) 2000-2019 the ffmpeg developers
built with clang version 10.0.0-4ubuntu1
configuration: --prefix=/usr/local --extra-version=lvv.me --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --disable-ffplay --enable-nonfree --enable-openssl --enable-libfdk-aac --extra-ldflags='-pthread -fprofile-arcs -ftest-coverage -lomp' --cc=/usr/bin/clang-10 --cxx=/usr/bin/clang++-10
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
使用方法:
docker pull cntrump/ubuntu-ffmpeg:4.2.2
Ubuntu-Nginx-RTMP
基于 nginx 的 RTMP 直播/点播环境,使用 FFmpeg 作为转码器。
- ubuntu 20.04
- nginx 1.18.0
- nginx-http-flv-module 1.2.7
- FFmpeg 4.2.2
使用方法:
docker pull cntrump/ubuntu-nginx-rtmp:latest
启动服务器:
docker run -it --rm -p 1935:1935 -p 8080:80 -p 8443:443 cntrump/ubuntu-nginx-rtmp:latest
推流设置
使用 OBS 进行直播推流:
在推流设置里设置地址:rtmp://localhost:1935/stream
,串流密钥:hello
接收视频流
- HLS:
http://localhost:8080/live/hello.m3u8
- FLV:
http://localhost:8080/flive?app=stream&stream=hello
Ubuntu Dante server
dante socks5 代理服务器。
使用方法:
docker pull cntrump/ubuntu-dante:1.4.2
启动代理:
docker run -it --rm -p 1080:1080 cntrump/ubuntu-dante:1.4.2
配置文件路径:/usr/local/dante/etc/sockd.conf
使用 curl 测试代理是否正常:
curl --socks5 YOUR_SERVER:1080 -v https://lvv.me