У меня есть один сценарий оболочки Unix в Docker, который имеет команду ниже для отправки файлов в корзину AWS S3.Когда я запускаю Docker-контейнер и когда исполняется скрипт оболочки, он выдает ошибку, говорящую, что команда не найдена.Но тот же сценарий при запуске через локальную машину запускается.Только при запуске через докер тс выдает ошибку.Образ Docker состоит из необходимых библиотек Python.
Ниже приведен мой образ докера:
# Use an official Python runtime as a parent image
FROM python:3.6-slim
USER root
# Install any needed packages specified in requirements.txt
# RUN pip install -r requirements.txt
RUN pip3 install ipython
RUN pip3 install numpy
RUN pip3 install pandas
RUN pip3 install scikit-learn
RUN pip3 install BeautifulSoup4
RUN pip3 install scipy
RUN pip3 install lxml
RUN pip3 install boto3
RUN pip3 install awscli
EXPOSE 8888
Сценарий оболочки:
#Use curl to make PUT request.
curl -L -X PUT -T "${sourceFilePath}" \
-H "Host: s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
https://s3.amazonaws.com/${bucket}/${filePathAtS3}
Сообщение об ошибке в сценарии оболочки:
src/assign_1/web_scrape.sh: line 39: curl: command not found
/src/assign_1/out/
date: invalid option -- 'j'
Try 'date --help' for more information.
/src/assign_1/web_scrape.sh: line 74: curl: command not found