Создание контейнера docker с tensorflow приводит к ошибке libcublas.so
Я создал контейнер docker с приложением Django, celery, redis, для базы данных использовал Postgres. При импорте tensorflow он выдает ошибку Libssl.so not found, в то время как файл существует в самом контейнере docker.
Python = 3.6.12
Tensorflow-gpu=1.12.0
cuda = 9.0
cudnn = 7
Файл docker-compose.yml, который мы используем, выглядит следующим образом:
version: '3'
services:
web:
volumes:
- static:/static
- /usr/local/cuda/lib64/:/usr/local/cuda/lib64/
- /usr/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
- /usr/lib/nvidia-410/:/usr/lib/nvidia-410/
build:
context: .
ports:
- "8000:8000"
networks:
- nginx_network
hostname: "web"
nginx:
build: ./nginx
volumes:
- static:/static
ports:
- "3333:3333"
networks:
- nginx_network
depends_on:
- web
hostname: "nginx"
db:
image: postgres:13.0-alpine
container_name: ps01
volumes:
- postgres_data:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=AVL^&*()
- POSTGRES_DB=xtract_prod
networks:
nginx_network:
volumes:
static:
Файл докера:
FROM alpine:latest
FROM python:3.6.12
ENV LANG=C.UTF-8
RUN pip install --no-cache-dir --upgrade pip
#LC_ALL=C.UTF-8
# FROM python:3.5.2
# RUN apt-get install libssl1.1
# RUN export LD_LIBRARY_PATH=/home/xaltgpu/miniconda3/lib
RUN echo "/home/xaltgpu/miniconda3/lib" > /etc/ld.so.conf.d/openssl.conf
RUN ldconfig
RUN echo 'export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib/x86_64-linux-gnu:/usr/lib/nvidia-430' >> ~/.bashrc
#RUN nvidia-smi
RUN apt-get install libssl-dev libffi-dev -y
RUN apt-get update
RUN apt-get install libidn2-0
RUN apt-get install ffmpeg libsm6 libxext6 -y
COPY temp_1 /app/temp_1
COPY entrypoint.sh app/entrypoint.sh
COPY req.txt /app/req.txt
WORKDIR /app
RUN pip install -r req.txt
RUN ls
RUN pwd
COPY . /app
#FROM nvidia/cuda:9.0-base-ubuntu16.04
RUN chmod +x entrypoint.sh
ENTRYPOINT ["sh", "entrypoint.sh"]
NGINX Докер-файл
FROM nginx:1.19.0-alpine
COPY ./default.conf /etc/nginx/conf.d/default.conf
docker.conf
upstream django {
server django_gunicorn:8000;
}
server {
listen 80;
location / {
proxy_pass http://django;
}
location /static/ {
alias /static/;
}
}
Ошибка, которую я получаю при запуске файла entrypoint.sh python manage.py runserver
Ошибка
Игнорировать ошибку Nginx.