Apt-add-repository: команда не найдена ошибка в файле Dockerfile

Я только что сделал очень простой файл докеров в моем терминале, в основном я сделал следующее:

mkdir pgrouted
cd pgrouted
touch Dockerfile

Теперь я открываю файл докеров в редакторе nano и добавляю следующие команды в файл докеров:

FROM ubuntu

MAINTAINER Gautam <[email protected]>

LABEL Description="pgrouting excercise" Vendor="skanatek" Version="1.0"

ENV BBOX="-122.8,45.4,-122.5,45.6"

# Add pgRouting launchpad repository
RUN sudo apt-add-repository -y ppa:ubuntugis/ppa
RUN sudo apt-add-repository -y ppa:georepublic/pgrouting
RUN sudo apt-get update

# Install pgRouting package (for Ubuntu 14.04)
RUN sudo apt-get install postgresql-9.3-pgrouting

# Install osm2pgrouting package
RUN sudo apt-get install osm2pgrouting

# Install workshop material (optional, but maybe slightly outdated)
RUN sudo apt-get install pgrouting-workshop

# For workshops at conferences and events:
# Download and install from http://trac.osgeo.org/osgeo/wiki/Live_GIS_Workshop_Install
RUN wget --no-check-certificate https://launchpad.net/~georepublic/+archive/pgrouting/+files/pgrouting-workshop_2.0.6-ppa1_all.deb

RUN sudo dpkg -i pgrouting-workshop_2.0.6-ppa1_all.deb

# review:Not sure weather this should be in the dockerfile
RUN cp -R /usr/share/pgrouting/workshop ~/Desktop/pgrouting-workshop

# login as user "user"
RUN psql -U postgres

#create routing database
RUN CREATE DATABASE routing;

#add PostGIS functions
RUN CREATE EXTENSION postgis;

#add pgRouting core functions
CREATE EXTENSION pgrouting;

# Download using Overpass XAPI (larger extracts possible than with default OSM API)
wget --progress=dot:mega -O "sampledata.osm" "http://www.overpass-api.de/api/xapi?*[bbox=${BBOX}][@meta]"

Весь файл Docker можно увидеть с помощью ЗДЕСЬ.

Теперь, когда я пытаюсь создать файл docker, вот так:

docker build -t gautam/pgrouted:v1 .

Файл docker запускается, и я получаю следующую ошибку:

Step 4 : RUN sudo apt-add-repository -y ppa:ubuntugis/ppa
 ---> Running in c93c3c5fd5e8
sudo: apt-add-repository: command not found
The command '/bin/sh -c sudo apt-add-repository -y ppa:ubuntugis/ppa' returned a non-zero code: 1

Может кто-нибудь сказать мне, почему я получаю эту ошибку?

Ответы

Ответ 1

apt-add-repository просто не находится в базовом изображении Ubuntu. Сначала вам нужно будет установить его. попробуйте apt-get install software-properties-common

Кстати, вам не нужно использовать sudo в файле Docker, потому что команды выполняются как root по умолчанию, если вы не перейдете к другому пользователю с помощью команды USER.