Команда Dockerfile и dpkg
Я пытаюсь создать Dockerfile для установки VuFind.
Это мой Dockerfile:
#Name of container: docker-vufind:3
# Pull base image
FROM ubuntu:16.04
MAINTAINER xxx "xxx@mail.com"
#Install latest patches
RUN apt-get update && apt-get install -y
&& apt-get install -y wget
#Obtain the package
RUN wget http://downloads.sourceforge.net/vufind/vufind_3.1.1.deb?use_mirror=osdn -O vufind_3.1.1.deb
#Install it
RUN dpkg -i vufind_3.1.1.deb
#Install VuFind's dependecies
RUN apt-get install -y -f
Я запустил эти команды на bash моего Ubuntu, и программное обеспечение работало нормально, но кажется, что я не могу получить тот же результат с Dockerfile, потому что команда dpkg не удалась из-за отсутствия зависимостей.
The command '/bin/sh -c dpkg -i vufind_3.1.1.deb' returned a non-zero code: 1
устанавливает dependecies (Apache, jdk, php...) перед командной строкой dpkg единственный способ создать рабочий файл Dockerfile или есть ли более короткий путь ?
2 ответов
Не самый элегантный, но:
#continue executing even if command fails
RUN dpkg -i vufind_3.1.1.deb || true
С apt версия 1.1~exp11 (который доступен с Ubuntu 16.04), вы можете установить .deb файлы и разрешить зависимости непосредственно с :
apt install ./vufind_3.1.1.deb
ум ./
!