К сожалению, я не могу создать эту символическую ссылку (&& ln -s / db / var / www / html / blast / db /) внутри контейнера докеров. Что я пропустил?
FROM ubuntu:16.04
# File Author / Maintainer
MAINTAINER Rafael Hernandez <https://github.com/fikipollo>
################## BEGIN INSTALLATION ######################
#Add the link to internal MRS service
RUN apt-get update \
&& apt-get -y install build-essential ruby ruby-dev ncbi-blast+ nginx php-fpm apache2-utils sudo wget csh fcgiwrap \
&& apt-get clean \
&& gem install sequenceserver \
&& gem install ncbi-blast-dbs
ENV ADMIN_USER=admin \
ADMIN_PASS=supersecret \
MAX_FILE_SIZE=300 \
CPU_NUMBER=4
COPY configs/* /tmp/
ADD ./blast /var/www/html/blast
RUN mv /tmp/*.html /var/www/html/ \
&& mv /tmp/*.png /var/www/html/ \
&& mv /tmp/*.php /var/www/html/ \
&& cat /tmp/rules >> /etc/sudoers \
&& mv /tmp/default /etc/nginx/sites-available/ \
&& mv /tmp/entrypoint.sh /usr/bin/entrypoint.sh \
&& chmod +x /usr/bin/entrypoint.sh \
&& mv /tmp/admin_tools /usr/local/bin/admin_tools \
&& chmod +x /usr/local/bin/admin_tools \
&& mv /tmp/sequenceserver /etc/init.d/sequenceserver \
&& chmod +x /etc/init.d/sequenceserver \
&& ln -s /db /var/www/html/blast/db/ \
&& chown www-data:www-data /var/www/html/* \
&& chmod 660 /var/www/html/*.* \
&& chmod o+w /var/www/html/blast/TmpGifs/ \
&& htpasswd -b -c /etc/nginx/.htpasswd admin supersecret
##################### INSTALLATION END #####################
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
.
version: '2'
services:
instance1-blast:
build: .
container_name: instance1-blast
environment:
- ADMIN_USER=admin
- ADMIN_PASS=123
- MAX_FILE_SIZE=50
- CPU_NUMBER=5
depends_on:
- instance1-data
volumes_from:
- instance1-data
ports:
- "8094:80"
- "8095:4567"
instance1-vsftpd:
image: fikipollo/vsftpd
container_name: instance1-vsftpd
environment:
- FTP_USER=ftpuser
- FTP_PASS=supersecret
- ONLY_UPLOAD=YES
- PASV_ENABLE=NO
- FTP_HOME=/raw
- UMASK=000
depends_on:
- instance1-data
volumes_from:
- instance1-data
ports:
- "8096:21"
instance1-data:
image: busybox
container_name: instance1-data
volumes:
- /data/instance1-data/blast-data/db:/db
- /data/instance1-data/blast-data/raw:/raw
- /data/instance1-data/blast-data/tmp:/tmp
Заранее спасибо.
&& ln -s / db / var / www / html / blast / db /
Я не вижу в вашем Dockerfile, где:
/ дб / вар / www / html / взрыв / дб
каталоги создаются. Оба эти каталога кажутся мне нестандартными, и поэтому, вероятно, их еще нет в вашем базовом образе. Попробуйте добавить эту строку где-нибудь в вашем Dockerfile ПЕРЕД вашей командой для создания символической ссылки:
ЗАПУСТИТЬ mkdir -p / var / www / html / blast / db && \ mkdir -p / var / www / html / blast / db
Кроме того, я бы еще и проверил, что команда ls работает и может «видеть» эти каталоги, как только вы подтвердите, что они создаются в файловой системе Docker Image, что также будет отражено в файловой системе вашего контейнера ...
Если это не сработает, как уже просил Чарльз, вставьте вывод своей команды сборки докера и все сообщения об ошибках, которые вы получаете при запуске контейнера из полученного образа ...