码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何构建phantomjs的docker镜像


    phantomjs是一个无界面的浏览器,可用于在后端去生成PDF文件。

    以下是笔者经过实践可用的镜像脚本Dockerfile,包含phantomjs和nodejs环境

    镜像源

    当前目录创建sources.list文件,用于替换debian的镜像源为国内镜像,内容如下

    1. deb https://mirrors.tencent.com/debian/ bullseye main non-free contrib
    2. deb-src https://mirrors.tencent.com/debian/ bullseye main non-free contrib
    3. deb https://mirrors.tencent.com/debian-security/ bullseye-security main
    4. deb-src https://mirrors.tencent.com/debian-security/ bullseye-security main
    5. deb https://mirrors.tencent.com/debian/ bullseye-updates main non-free contrib
    6. deb-src https://mirrors.tencent.com/debian/ bullseye-updates main non-free contrib
    7. deb https://mirrors.tencent.com/debian/ bullseye-backports main non-free contrib
    8. deb-src https://mirrors.tencent.com/debian/ bullseye-backports main non-free contrib

    Nodejs 

       去官方下载node v16.17.0 linux x64版本压缩包,文件名应该类似:

       node-v16.17.0-linux-x64.tar.xz,放到当前目录。

    Phantomjs 

       去phantomjs官网下载安装包,下载地址:phantomjs-2.1.1-linux-x86_64.tar.bz2 

    下载后解压后,将bin目录下的phantomjs文件拷到当前目录

    Dockerfile

    当前目录新建Dockerfile文件,内容如下

    1. FROM debian:stable-slim
    2. RUN apt-get update
    3. RUN apt-get install -y apt-transport-https ca-certificates
    4. #mirror
    5. COPY sources.list /etc/apt/sources.list
    6. #phantomjs
    7. RUN apt-get update
    8. RUN apt-get install -y libfontconfig1
    9. ENV OPENSSL_CONF /etc/ssl/
    10. COPY phantomjs /usr/local/bin
    11. #nodejs
    12. workdir /usr/local/lib/nodejs
    13. COPY node-v16.17.0-linux-x64.tar.xz ./
    14. RUN apt-get install -y xz-utils
    15. RUN tar -xJvf node-v16.17.0-linux-x64.tar.xz -C /usr/local/lib/nodejs
    16. ENV PATH /usr/local/lib/nodejs/node-v16.17.0-linux-x64/bin:$PATH
    17. RUN rm -f node-v16.17.0-linux-x64.tar.xz

    构建 

    当前目录下应有如下几个文件

    运行命令构建: docker build -t phantomjs:test .

     测试

     docker run -it --rm phantomjs:test sh

     #phantomjs

     如果出现如下提示即说明phantomjs安装成功可用

       #node

     如果出现如下提示说明nodejs安装成功

      

      

  • 相关阅读:
    关于我的博客~ (2022.8.25 -> 在csdn三岁啦)
    MapReduce(二)
    Faster Rcnn
    php使用lunar实现农历、阳历、节日等功能
    48_ue4进阶末日生存游戏开发[本地存储游戏数据]
    kubernetes集群如何更改所有节点IP
    2023年ITSS各地区奖补政策汇总!最高可达50万元
    现代概率论的内容
    openAI发布基于ChatGPT的AI绘画模型DALL·E3,话说stable-diffusion还香吗?
    nodejs+vue面向中小学课堂教学辅助软件系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
  • 原文地址:https://blog.csdn.net/omage/article/details/127751104
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号