Чтобы сборка работала немедленно, ваша команда сборки должна быть:
docker build -f docker_python -t docker_python .
По умолчанию команда сборки ищет файл с именем Dockerfile
в предоставленном вами контексте сборки (в вашемна случай, если вы поставите .
aka. текущий рабочий каталог).Если вы хотите переопределить это значение по умолчанию, используйте ключ -f и укажите свое имя файла.Обратите внимание, что Dockerfile
всегда должен быть в контексте сборки.
Синтаксис docker build
упрощен:
docker build -f <dockerfile> -t <imagetag> <buildcontext>
Если вы переименуете файл docker_python
в своем проекте, чтобыпросто Dockerfile
, вы можете просто собрать с помощью команды, которую вы уже пытаетесь:
docker build -t docker_python .
Справочник по сборке стоит прочитать, если вы хотите узнать больше.
Обновление
Поскольку у вас возникли проблемы с LABEL сопровождающего, я включу для вас полный Dockerfile:
### Dockerfile
# Created by Baktawar
# Pulling from base Python image
FROM python:3.6.7-alpine3.6
# author of file
LABEL maintainer="Baktawar"
# Set the working directory of the docker image
WORKDIR /app
COPY . /app
# packages that we need
RUN pip install numpy && \
pip install pandas && \
pip install jupyter
EXPOSE 8888
ENTRYPOINT ["python"]
CMD ["hello_world.py"]
Я только заменилдвойные кавычки в строке:
LABEL maintainer="Baktawar"
Обновление
Кажется, следующая проблема связана с простой установкой.И да, это действительно известная проблема на альпийском.Мне удалось решить эту проблему с помощью следующего Dockerfile:
### Dockerfile
# Created by Baktawar
# Pulling from base Python image
FROM python:3.6.7-alpine3.6
# author of file
LABEL maintainer="Baktawar"
# Set the working directory of the docker image
WORKDIR /app
COPY . /app
# Install native libraries, required for numpy
RUN apk --no-cache add musl-dev linux-headers g++
# Upgrade pip
RUN pip install --upgrade pip
# packages that we need
RUN pip install numpy && \
pip install pandas && \
pip install jupyter
EXPOSE 8888
ENTRYPOINT ["python"]
CMD ["hello_world.py"]
Очевидно, что numpy требует установки некоторых собственных библиотек.Я также обновил pip для вас, я получил предупреждение о версии.
На ваш вопрос, вы должны построить так:
docker build -f dockerfile -t docker_python .
Если вам Dockerfile
присвоено имя dockerfile
- ответ «да».Вы можете опустить переключатель -f
, только если ваш Dockerfile
назван точно Dockerfile
.Он чувствителен к регистру.