Я только что сделал очень простой файл Docker в своем терминале, в основном я сделал следующее:
mkdir pgrouted
cd pgrouted
touch Dockerfile
Теперь я открываю файл Docker в редакторе nano и добавляю в файл Docker следующие команды:
FROM ubuntu
MAINTAINER Gautam <gautamx07@yahoo.com>
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
# Log in 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]"
Весь Dockerfile можно сразу увидеть ЗДЕСЬ .
Теперь, когда я пытаюсь собрать Dockerfile, вот так:
docker build -t gautam/pgrouted:v1 .
Dockerfile запускается, а затем появляется следующая ошибка:
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
Почему я получаю эту ошибку?
pt-get install software-properties-common
в качестве первойRUN pt-get install software-properties-common
команды, вот так, теперь я получаю эту ошибку chopapp.com/#8a4vdsnwpython-software-properties
илиsoftware-properties-common
apt-get update && apt-get install -y software-properties-common
. Похоже, что сначала запустить обновление, а потом установить его Возможно, ошибка DockerДобавьте эти строки перед запуском
apt-add-repository
командыисточник
rm -rf /var/lib/apt/lists/*
?rm
Расстегивает эффектыapt-get update
. Нет смысла хранить метаданные пакета на уровне контейнера. Если позже вы захотитеapt-get install
добавить дополнительные пакеты, вам всеapt-get update
равно следует сделать новый .