这里使用 apline 作为基础镜像,因为真的很小,只有 5M 多一点
为什么使用 docker?因为避免环境不一致的情况,内网环境缺少各种折磨人的依赖,使用 docker 就可以完美的规避了
FROM alpine:3.16.3
ENV LANG=en_US.UTF-8
ENV TZ="Asia/Shanghai"
RUN apk --update --no-cache add libqrencode && \
rm -rf /var/cache/apk/* && \
echo '/bin/sleep 315360000' > start.sh
CMD ["sh","start.sh"]
通过
docker build
生成新的镜像
docker build -t qrencode:4.1.1 .
创建一个目录提供给
qrcode
做数据存储,方便获取 二维码 图片
mkdir qr_png
启动 docker 容器,注意持久化路径
docker run -d \
-v $(pwd)/qr_png:/tmp \
--network none \
--name qrcode \
qrencode:4.1.1
将需要转换成二维码的内容写到前面创建的
qr_png
目录下,然后执行下面的命令,完成后,可以在
qr_png
目录下找到生成的 二维码 图片
docker exec -it qrcode qrencode -r /tmp/Dockerfile -o /tmp/Dockerfile.png
libqrencode
的一个缺点就是无论文本里面有多少行内容,最终扫码获取到的内容只有一行,所以有大量内容需要获取的场景,可以定义换行符,通过其他方式替换即可