docker pull klokoy/pdf2htmlex docker run -it klokoy/pdf2htmlex bash

构建pdf2htmlEx Docker镜像
本文介绍如何使用Docker构建包含pdf2htmlEx工具的镜像,详细记录了安装依赖、克隆源码、编译安装的过程,并提供了完整的Dockerfile样例。

docker pull klokoy/pdf2htmlex

docker run -it klokoy/pdf2htmlex bash

#Dockerfile to build a pdf2htmlEx imageFROM ubuntu

##Install git and all dependencies

#RUN sudo apt-get update && sudo apt-get install -qq git cmake autotools-dev libjpeg-dev libtiff4-dev libpng12-dev libgif-dev libxt-dev autoconf automake libtool bzip2 libxml2-dev libuninameslist-dev libspiro-dev python-dev libpango1.0-dev libcairo2-dev chrpath uuid-dev uthash-dev

##Clone the pdf2htmlEX fork of fontforge#compile it

#RUN git clone https://github.com/coolwanglu/fontforge.git fontforge.gitRUN cd fontforge.git && git checkout pdf2htmlEX && ./autogen.sh && ./configure && make V=1 && sudo make install##Install poppler utils

#RUN sudo apt-get install -qq libpoppler-glib-dev

##Clone and install the pdf2htmlEX git repo#RUN git clone git://github.com/coolwanglu/pdf2htmlEX.gitRUN cd pdf2htmlEX && cmake . && make && sudo make install

https://hub.docker.com/r/klokoy/pdf2htmlex/~/dockerfile/


你运行的命令: ```bash docker run -it cc /bin/bash ``` 表示:**基于名为 `cc` 的镜像启动一个交互式容器,并进入 `/bin/bash` shell。** 我们来详细分析这个命令是否能成功,以及可能出现的问题和解决方案。 --- ## ✅ 命令解析 | 部分 | 含义 | |------|------| | `docker run` | 创建并启动一个新容器 | | `-i` | 保持标准输入打开(用于交互) | | `-t` | 分配一个伪终端(TTY) | | `cc` | 使用名为 `cc` 的镜像 | | `/bin/bash` | 容器启动后执行的命令 | --- ## 🧩 可能的情况与结果 ### ✅ 情况 1:镜像 `cc` 存在且包含 `/bin/bash` 如果本地存在名为 `cc` 的镜像,并且该镜像中安装了 `bash`,那么你会成功进入容器的 shell: ```bash root@container-id:/# ``` ✅ 正常工作。 --- ### ❌ 情况 2:镜像 `cc` 不存在 运行时会报错: ```bash Unable to find image 'cc:latest' locally docker: Error response from daemon: pull access denied for cc, repository does not exist... ``` #### 🔧 解决方法: 确认镜像是否存在: ```bash docker images | grep cc ``` 如果没有,请先构建或导入它: ```bash # 示例:从 Dockerfile 构建 docker build -t cc . # 或者从 tar 文件导入 docker import your-image.tar cc:latest ``` --- ### ❌ 情况 3:镜像中没有 `/bin/bash` 某些轻量级镜像(如 Alpine、BusyBox 或最小化 Debian)只包含 `sh`,没有安装 `bash`。 此时会报错: ```bash docker: Error response from daemon: OCI runtime create failed: container_linux.go:... exec: "/bin/bash": stat /bin/bash: no such file or directory ``` #### 🔧 解决方法:使用 `/bin/sh` ```bash docker run -it cc /bin/sh ``` 或者尝试检查是否存在 bash: ```bash docker run cc which bash ``` --- ## ✅ 推荐做法(增强版命令) ### 1. 指定容器名称便于管理 ```bash docker run -it --name mycc cc /bin/bash ``` ### 2. 挂载主机目录(可选) ```bash docker run -it -v /home/cc:/host cc /bin/bash ``` ### 3. 如果不确定是否有 bash,先进入 sh 再查 ```bash docker run -it cc /bin/sh ``` 进入后可以运行: ```sh which bash || apk add bash # Alpine which bash || apt-get update && apt-get install -y bash # Debian/Ubuntu ``` --- ## 🧠 小技巧:如何知道一个镜像是什么系统? 进入容器后可以运行: ```bash cat /etc/os-release ``` 查看是 Debian、Alpine 还是其他发行版。 --- ## ✅ 总结 你的命令: ```bash docker run -it cc /bin/bash ``` 语法完全正确,但能否成功取决于两个条件: 1. **是否存在名为 `cc` 的镜像** 2. **该镜像是否包含 `/bin/bash`** --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c2a2o2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值