programing

apt-add-repository: 명령을 찾을 수 없음 오류가 도커 파일에 있습니다.

elecom 2023. 9. 10. 11:55
반응형

apt-add-repository: 명령을 찾을 수 없음 오류가 도커 파일에 있습니다.

단말기에서 아주 간단한 도커 파일을 만들었을 뿐인데 기본적으로 다음과 같은 작업을 했습니다.

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

왜 이런 오류가 발생합니까?

apt-add-repository기본 Ubuntu 이미지에는 없습니다.먼저 설치해야 합니다. 시도해 보세요.apt-get install software-properties-common

그건 그렇고, 당신은 사용할 필요가 없습니다.sudo를 사용하여 다른 사용자로 변경하지 않는 한 명령은 기본적으로 root로 실행되기 때문에 Docker 파일에서USER지휘.

실행하기 전에 이 줄을 추가apt-add-repository지휘권을

RUN apt-get update && \
    apt-get install -y software-properties-common && \
    rm -rf /var/lib/apt/lists/*
thats worked for me:    
RUN apt-get update --fix-missing && \
apt-get install -y software-properties-common && \
rm -rf /var/lib/apt/lists/*  && \
add-apt-repository ppa:ondrej/php && \
apt install -y nginx php7.4-fpm php7.4-mysql php7.4-curl net-tools telnet php7.4-gd php-mail php7.4 php7.4-common php7.4-sqlite3 php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-soap unzip  && \
rm -rf /var/lib/apt/lists/* && \
apt clean

언급URL : https://stackoverflow.com/questions/32486779/apt-add-repository-command-not-found-error-in-dockerfile

반응형