#docker
#docker
Вопрос:
Dockerfile и построить контекстное дерево core-site.xml
файлов, относительный путь к файлу conf/etc/hadoop
.
├── Dockerfile
└── conf
├── etc
│ └── hadoop
│ └── core-site.xml
└── xxx.conf
Dockerfile(очень простой), как показано ниже
FROM alpine:latest
RUN mkdir -p /data
WORKDIR /data
COPY conf/* /data/
После docker build -t any/any:any .
COPY
этого список файлов слоя, как показано ниже. Промежуточный путь etc / файла core-site.xml
потерян. Куда делся etc / ?
data/
data/xxx.conf
data/hadoop/
data/hadoop/.wh..wh..opq
data/hadoop/core-site.xml
Ответ №1:
Удалите *
, чтобы у вас просто COPY conf /data
COPY
Команда обрабатывает копирование файлов и каталогов немного по-другому. Ваше COPY
утверждение расширяется до
COPY conf/etc /data/
COPY conf/xxx.conf /data/
Первый оператор фактически копирует содержимое conf/etc
в /data
каталог в контейнере.