代码之家  ›  专栏  ›  技术社区  ›  d-_-b

让dockerfile覆盖卷中的文件

  •  0
  • d-_-b  · 技术社区  · 5 年前

    COPY config.xml /path/to/data/config.xml
    

    当我运行容器时,我使用的卷本身包含 config.xml

    volume:
       - "/data:/path/to/data
    

    当我构建和运行容器时,我想

    这可能吗?

    1 回复  |  直到 5 年前
        1
  •  1
  •   halfer Jatin Pandey    5 年前

    将卷添加到Docker服务时,卷中的数据将覆盖Docker映像中的任何现有数据。如果你想让Docker图像文件作为默认文件,你需要做以下的事情

    • 将文件存储在Docker图像预定义文件中,即(/path/to/default)
    • 在Docker文件中添加一个入口点,这个入口点应该负责从 /path/to/default 到卷路径 /path/to/data

    停靠文件

    From ruby:2.4.5
    COPY config.xml /path/to/default/config.xml
    ENTRYPOINT  [ "/docker-entrypoint.sh" ]
    
    

    #!/bin/sh -e
    
    cp -r /path/to/default/config.xml /path/to/data
    exec "$@" # or replace this by the command need to run the container