apt-add-repository: কমান্ডটি ডকফাইফাইলে ত্রুটিটি খুঁজে পায় নি


92

আমি আমার টার্মিনালে একটি খুব সাধারণ ডকার ফাইল তৈরি করেছি, মূলত আমি নিম্নলিখিতটি করেছি:

mkdir pgrouted
cd pgrouted
touch Dockerfile

এখন আমি ন্যানো সম্পাদকটিতে ডকার ফাইলটি খুলি এবং ডকার ফাইলটিতে আমি নিম্নলিখিত কমান্ডগুলি যুক্ত করছি:

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]"

পুরো ডকফায়াইল এখানে এক নজরে দেখতে পাবেন ।

এখন যখন আমি ডকফাইফিলটি তৈরির চেষ্টা করি, তেমন:

docker build -t gautam/pgrouted:v1 .

ডকফায়াইল চালায় এবং তারপরে আমি নীচের ত্রুটিটি পেয়েছি:

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

আমি কেন এই ত্রুটি পাচ্ছি?

উত্তর:


121

অপ্ট-অ্যাড-রিপোজিটরিটি কেবল উবুন্টু চিত্রটিতে নেই। আপনার প্রথমে এটি ইনস্টল করা দরকার। চেষ্টা করুনapt-get install software-properties-common

যাইহোক, আপনাকে ডকফাইলে সুডো ব্যবহার করার প্রয়োজন নেই কারণ কমান্ডগুলি ডিফল্টরূপে রুট হিসাবে চালিত হয় যদি না আপনি USERকমান্ডটি দিয়ে অন্য কোনও ব্যবহারকারীকে পরিবর্তন না করেন।


4
আমি pt-get install software-properties-commonপ্রথম RUN pt-get install software-properties-commonকমান্ড হিসাবে যুক্ত করেছি , ঠিক তেমনভাবে
আলেকজান্ডার সলোনিক

4
তোমার উপর নির্ভর করে উবুন্টু সংস্করণ, এটা হতে পারে পারেন python-software-propertiesবাsoftware-properties-common
user2915097

4
উবুন্টু 16.04 এ এটি 46MiB অতিরিক্ত ডেটা ইনস্টল করতে চায়: / একটি সাধারণ কমান্ড কার্যকর করতে সক্ষম হতে খুব বেশি।
cweiske

27
পাইথন-সফ্টওয়্যার-বৈশিষ্ট্য বা সফ্টওয়্যার-বৈশিষ্ট্য-সাধারণ
কোনওটিই

10
যারা এখনও কিছু ত্রুটি পাচ্ছেন তাদের জন্য। আমি আপডেট নির্বাণ এবং একই লাইনে ইনস্টল দ্বারা মীমাংসিত: apt-get update && apt-get install -y software-properties-common। প্রথমে আপডেট চালানো এবং তারপরে ইনস্টলটি কাজ করবে বলে মনে হচ্ছে না। সম্ভবত একটি ডকার বাগ
ফেডফ্রান্স

57

apt-add-repositoryকমান্ড চালানোর আগে এই লাইনগুলি যুক্ত করুন

RUN apt-get update && \
    apt-get install -y software-properties-common && \
    rm -rf /var/lib/apt/lists/*

4
আমাকে প্রথম লাইনে - ফিক্স-মিসিং যুক্ত করতে হয়েছিল।
এডহোলার

4
কিসের কথা rm -rf /var/lib/apt/lists/*?
জাম্পনেট

rmপ্রভাব পূর্বাবস্থায় ফিরিয়ে আনে apt-get update। ধারক স্তরে প্যাকেজ মেটাডেটা সংরক্ষণ করার কোনও অর্থ নেই। আপনি যদি পরে apt-get installঅতিরিক্ত প্যাকেজ করতে চান তবে apt-get updateযাইহোক আপনার নতুন করা উচিত ।
টক্সারিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.