为了账号安全,请及时绑定邮箱和手机立即绑定

动手写一个人人影视的docker镜像

标签:
Linux Docker

前不久入手一台机子搭私有服务器后,一直在往这个服务器里加入各种服务。起初是搭一个蚂蚁笔记,接着有用gogs和gitea搭了两个git远程仓库。

本来是想在发完带你使用Docker搭建私有云笔记后接着写一个gogs和gitea搭建,后来发现慕课网上已经有大佬发过了,图文并茂,我就不再写了。想看怎么搭建gogs的远程仓库的点这里 。当然还有很多大佬写过这个话题,可以在慕课网搜索gogs查看

今天发现人人影视的客户端网页有Linux版web客户端,于是想自己封装一个镜像,放在自己的服务器上跑。(虽然最后测试了下下载有问题,已发邮件去给人人影视了,就当练手项目了_)。

思路

图片描述

Linux的web版客户端是只是支持ubuntu和centos的,emmmm,我试试用debian:jessie-slim做底包,最后发现也能跑。

有了底包,我们需要下载这个客户端,用Dockerfile和一个sh脚本自动化构建镜像。

Dockerfile中,我们把文件解压好,暴露出端口号,运行sh脚本

sh脚本中,我们运行客户端的二进制,启动服务,就能在指定的地址访问到页面进行下载了。

编写Dockerfile

FROM debian:jessie-slim
LABEL maintainer="bubao"
ENV TZ=Asia/Shanghai

COPY ./run.sh /root/

RUN set -ex && \n    mkdir -p /root/tools && \n    apt-get update && \n    apt-get install -y --no-install-recommends make wget tar ca-certificates && \n    wget http://113.132.128.133:8080/rrshareweb_linux.rar -O /root/rrshareweb_linux.rar && \n    wget https://www.rarlab.com/rar/rarlinux-x64-5.6.0.tar.gz -O rarlinux.tar.gz && \n    tar -xzf rarlinux.tar.gz -C /root/tools && rm rarlinux.tar.gz && \n    cd /root/tools/rar && make && make install && cd / && whereis rar && \n    /usr/local/bin/rar e /root/rrshareweb_linux.rar /root && \n    rm /root/rrshareweb_linux.rar && \n    tar -xzf /root/rrshareweb_centos7.tar.gz -C /root && \n    rm /root/rrshareweb_centos*.tar.gz && \n    chown -R root:root /root/rrshareweb && chmod a+x /root/rrshareweb/rrshareweb && chmod a+x /root/run.sh && \n    ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && \n    echo ${TZ} > /etc/timezone

EXPOSE 3001

CMD /bin/bash /root/run.sh

有这么多不认识的东西,用到的解释一下,更多的说明看文档。

FROM:引用底包。

LABEL maintainer="bubao":镜像作者。

COPY:复制外部文件到镜像中。

RUN:执行命令,我这里只用了一个RUN,每一个RUN都会是一个新的层,没有必要使用多个层。

EXPOSE:暴露端口,因为3001是客户端暴露的端口,在这里我们用3001,到时候运行镜像时再转发镜像。

CMD:运行脚本

Dockerfile 文件是用于将需要的资源下载到镜像中,并解压到指定的位置,方便之后sh脚本运行。

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消