docker - 我怎么知道什么软件是基础 docker 镜像的一部分?
问题描述
我需要创建一个安装了以下软件的 docker 镜像:
sudo apt-get install pcscd
sudo apt-get install pcsc-tools // same as pcsc-lite
// For OMNIKEY for driver Then unpack the file and run the installer:
cd /home/cccam/ifdokccid_lnx_x64-3.7.0/
chmod 755 install
sudo ./install
OpenJDK 1.8 64 bit
为了做到这一点,我需要一个 apt 安装的基本图像。有人告诉我,debian 就是这样一种基础镜像。我正在访问 Ubuntu 18.04 机器上的 pcsc 读卡器。我是否也应该为 docker 容器使用 Ubuntu 基础映像?或者这不重要吗?
所以我的问题是:
1)如何确保 apt 位于基础映像中。一般来说,我如何检查基础映像是否安装了特定软件?我在哪里可以获得图像上的软件列表。另外我怎么知道它已安装并在路径上以便它被使用?
2)我应该从哪些可能的基础图像开始?
解决方案
1)如何确保 apt 位于基础映像中。一般来说,我如何检查基础映像是否安装了特定软件?我在哪里可以获得图像上的软件列表。另外我怎么知道它已安装并在路径上以便它被使用?
如果您需要 apt(包管理器),那么您可以使用ubuntu作为基础映像,因为它默认附带 apt。如果您想检查所有可用的包和目录结构,则可以使用docker run -it image_name:image_tag sh
以交互模式启动 docker 容器,您可以在其中测试包。
如果用户上传了用于构建映像的 Dockerfile,则可以在 docker hub 本身中找到它。您还可以在alpine dockerfile等公共存储库中找到 docker 文件
2)我应该从哪些可能的基础图像开始?
您可以从任何图像开始作为基础图像。甚至你可以从头开始喜欢FROM SCRATCH
。如果你需要一个轻量级的 linux 基础,那么你可以试试alpine
推荐阅读
- powershell - 使用 URL/headers 文件名的 PowerShell Core 下载文件
- opendaylight - 在 OVS 设备上有效地安装流,处理中的数据包,值得在氖/钠上使用氧气
- c - 为什么输入 4*x 或更多符号时出现此代码错误?将 16 位数字转换为 10 位数字
- javascript - 如何使用 +4000-5000 个表单字段将 Angular 6 JS 侦听器保持在最低限度
- python - 将列表值插入另一个列表(python)
- python - 将输入数据作为数组传递时,不要指定 `steps_per_epoch`/`steps` 参数。请改用`batch_size`
- java - Quarkus:对 URL 的请求以字符串形式给出
- nservicebus - nservicebus 客户端向 msmq 和 azure 服务队列发送命令
- java - spring boot webflux:避免处理程序中的线程阻塞方法调用
- php - 在现有文件夹中创建文件夹后如何在php中设置755权限