如何在容器构建过程中将主机OS文件映射到容器

时间:2017-10-31 07:53:48

标签: docker docker-compose dockerfile

搬运工-compose.yml:

    version: '3'
    services:
      ezmove:
        volumes:
          - /host-dir:/home/container-dir    
        build:
          context: .
          args:
            BRANCH: develop

Dockerfile:

FROM appcontainers/ubuntu:xenial

MAINTAINER user <user>

RUN apt-get update -y --no-install-recommends \
    && apt-get install -y --no-install-recommends python3.5-minimal python3.5-venv \    
    && apt-get install -y --no-install-recommends git \
    && apt-get install -y --no-install-recommends python-pip \
    && pip install --upgrade pip \  
    && rm -rf /var/lib/apt/lists/* \
    && mkdir -p /home/container-dir 

WORKDIR /home/container-dir 

RUN /bin/bash - c "sh ./script.sh"

构建时停靠者容器如何将本地目录映射到容器

当$ docker-compose up时,它将开始构建容器,但是在安装了packag dependancies之后,它将尝试执行script.sh文件但是收到错误“FILE NOT FOUND!”

尝试:

  1. 不希望在docker continer中使用todo git clone
  2. 不想在汇编程序中存储源代码
  3. 那么,如何在构建时将主机操作系统文件映射到容器

1 个答案:

答案 0 :(得分:2)

您的Dockerfile中缺少一些COPYADD,以便在您的图片中复制script.sh。

检查文档

https://docs.docker.com/engine/reference/builder/#add

https://docs.docker.com/engine/reference/builder/#copy

顺便说一句,Docker是关于隔离的,所以一个正在运行的容器应该与主机隔离,当然不能访问主机操作系统。