如何使用卷中的数据创建Docker容器?

时间:2019-01-29 16:18:54

标签: docker build docker-compose docker-volume

我想提供有关API的自动化文档。 所以...我的apib文件(API蓝图)在某处。 我需要使用Aglio(API Bluprint工具)将其转换为静态HTML文件。

一切正常。


在这个HTML文件中,我想创建一个将为该文件提供服务的ngnix容器。

Dockerfiles / df_documentation_server看起来像:

# This Dockerfile creates athe API documentation server
FROM nginx:alpine
COPY /docs/zdd-api-doc.html /usr/share/nginx/html

它提供了我的docker-compose文件。

version: "2" 

# This docker compose generate the html into the local running docker volume.
#

services: 
  zdd-api-desc:
    image: zdd-api-desc:intermediate

  aglio:
    image: humangeo/aglio
    volumes_from: 
      - zdd-api-desc
    command: aglio -i /docs/api-description.apib -o /docs/zdd-api-doc.html

  doc-serv:
    build:
      dockerfile: ./Dockerfiles/df_documentation_server
      context: ./
    links: 
      - aglio
    volumes_from: 
      - zdd-api-desc

这就是说,当我运行docker-compose up时,出现此错误:

  

错误:服务'doc-serv'构建失败:COPY失败:stat /var/lib/docker/tmp/docker-builder677033104/docs/zdd-api-doc.html

所以...

码头工人图像

REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
zdd-api-desc              intermediate        802b322d03e8        4 hours ago         4.43MB
apiaryio/dredd            latest              ccb7c93cd3be        12 days ago         143MB
nginx                     alpine              315798907716        4 weeks ago         17.8MB
alpine                    latest              3f53bb00af94        5 weeks ago         4.41MB
humangeo/aglio            latest              c1c8e640b89b        4 months ago        313MB

docker volume ls

DRIVER              VOLUME NAME
local               1a397f1657782dbfbc7d40e65948e52e1ef7ac2d2c897c78a54ae22764dfb670

还有

sudo ls / var / lib / docker / volumes / 1a397f1657782dbfbc7d40e65948e52e1ef7ac2d2c897c78a54ae22764dfb670 / _data

api-description.apib  zdd-api-doc.html

很明显,该错误来自我在Dockerfile中的COPY命令中给出的路径(COPY /docs/zdd-api-doc.html ...)

我看不到如何从Dockerfile访问此HTML文件。

所以,我有点失望。

有人有想法吗?

0 个答案:

没有答案