Docker link 到构建时的现有容器或映像
Docker link to existing container or image at build
我正在尝试使用 2 Dockerfiles
将一个应用分成一个 app
图片和一个 database
图片。两者都使用 FROM debian:jessie
作为基础图像。我 运行 遇到的问题是 app
映像中的某些包需要在构建时知道数据库位置。有什么方法可以 link 对现有图像或容器的构建命令?
细节
我的 database
图像是我已成功构建的 HDF5 数据存储。
我的 app
图像是一个 Python 3.5
图像,它安装了用于 HDF5
的软件包。我在构建时遇到的错误是:
Step 15 : RUN pip install tables
---> Running in 9ea6d6b53a19
Collecting tables
Downloading tables-3.2.2.tar.gz (7.0MB)
Complete output from command python setup.py egg_info:
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
* Using Python 3.5.1 (default, Jan 13 2016, 18:51:24)
* USE_PKGCONFIG: True
.. ERROR:: Could not find a local HDF5 installation.
You may need to explicitly state where your local HDF5 headers and
library can be found by setting the ``HDF5_DIR`` environment
variable or by using the ``--hdf5`` command-line option.
我想我需要在我的 app
Dockerfile
中使用 ENV HDF5_DIR path/to/hdf5/container/urs/bin/ld
之类的东西创建一个 HDF5_DIR
环境变量,但我不确定这是否正确或如何获取 运行 database
容器的路径。或者,如果 link 将其发送到 database
容器不正确,我需要将其 link 发送到实际图像(如果可能的话)。
我知道 HDF5
不是一个通用工具,但希望这是一个具有通用解决方案的通用问题。如果您需要查看完整的 Dockerfile
s
,请告诉我
您需要将 libhdf5-dev 添加到您的 docker 映像中。我创建了一个您可以扩展的 Dockerfile:
FROM python:3.5
RUN apt-get update
RUN apt-get -y install libhdf5-dev
RUN pip install tables
我正在尝试使用 2 Dockerfiles
将一个应用分成一个 app
图片和一个 database
图片。两者都使用 FROM debian:jessie
作为基础图像。我 运行 遇到的问题是 app
映像中的某些包需要在构建时知道数据库位置。有什么方法可以 link 对现有图像或容器的构建命令?
细节
我的 database
图像是我已成功构建的 HDF5 数据存储。
我的 app
图像是一个 Python 3.5
图像,它安装了用于 HDF5
的软件包。我在构建时遇到的错误是:
Step 15 : RUN pip install tables
---> Running in 9ea6d6b53a19
Collecting tables
Downloading tables-3.2.2.tar.gz (7.0MB)
Complete output from command python setup.py egg_info:
/usr/bin/ld: cannot find -lhdf5
collect2: error: ld returned 1 exit status
* Using Python 3.5.1 (default, Jan 13 2016, 18:51:24)
* USE_PKGCONFIG: True
.. ERROR:: Could not find a local HDF5 installation.
You may need to explicitly state where your local HDF5 headers and
library can be found by setting the ``HDF5_DIR`` environment
variable or by using the ``--hdf5`` command-line option.
我想我需要在我的 app
Dockerfile
中使用 ENV HDF5_DIR path/to/hdf5/container/urs/bin/ld
之类的东西创建一个 HDF5_DIR
环境变量,但我不确定这是否正确或如何获取 运行 database
容器的路径。或者,如果 link 将其发送到 database
容器不正确,我需要将其 link 发送到实际图像(如果可能的话)。
我知道 HDF5
不是一个通用工具,但希望这是一个具有通用解决方案的通用问题。如果您需要查看完整的 Dockerfile
s
您需要将 libhdf5-dev 添加到您的 docker 映像中。我创建了一个您可以扩展的 Dockerfile:
FROM python:3.5
RUN apt-get update
RUN apt-get -y install libhdf5-dev
RUN pip install tables