□ 환경

- ubuntu18.04, 20.04

- python 3.7 이상

 

프록시(proxy)가 설치되어 있는 환경에서 docker를 사용할 때, 

docker container 를 실행시킨 후 컨테이너 내부에 패키지들을 설치하기 위해 apt-get update를 실행시키면 메세지와 함께 package list가 update 되지 않는 경우가 있다. 당연히 다른 패키지들을 설치할 수도 없다.

$ apt-get update

...

connection timed out

 

이 경우 여러 원인이 있겠으나 대개의 경우 docker container 안에 proxy setting이 안되어 있는 경우로 proxy 설정을 해주면 해결되는 경우가 많다. 하기 링크에서 설정 가능하다.

https://driz2le.tistory.com/272

 

Proxy setting, apt-get (ubuntu 18.04)

Ubuntu 포함 linux 기본 환경에서 apt 또는 apt-get 에 대한 proxy 설정방법이다. Docker 환경에서 container 안에서 proxy를 설정해야할 경우에도 똑같이 적용하면 된다. 다만, docker container 안에서는 proxy가 안

driz2le.tistory.com

 

apt-get update도 안되는 상황이면 보통 vi 도 설치가 되지 않았을 가능성이 크므로, 이때는

$ sudo echo 'Acquire::http::proxy "http://10.10.10.10:8080/";' > /etc/apt/apt.conf.d/90proxy

$ sudo echo 'Acquire::https::proxy "http://10.10.10.10:8080/";' >> /etc/apt/apt.conf.d/90proxy

// 정상적으로 기록되었는지 확인

$ sudo cat /etc/apt/apt.conf.d/90proxy

Acquire::http::proxy "http://70.10.15.10:8080/";
Acquire::https::proxy "http://70.10.15.10:8080/";

 

위에서 10.10.10.10:8080 은 자신의 proxy server ip나 url을 사용하면 되며 90proxy 파일명은 어떤 이름이든 상관없다.

반응형

Ubuntu 포함 linux 기본 환경에서 apt 또는 apt-get 에 대한 proxy 설정방법이다.

Docker 환경에서 container 안에서 proxy를 설정해야할 경우에도 똑같이 적용하면 된다.

다만, docker container 안에서는 proxy가 안될 경우 vi 설치부터 애먹는 경우가 있는데 아래 간단한 팁을 적어 놓았다.

 

□ APT, APT-GET을 위한 Proxy 설정

1. configuration file 생성

파일이름은 상관없다. proxy.conf, 90proxy, 09proxy 등 다른 용도를 위해서 기존에 존재하는 파일명과 충돌하지 않으면 된다. 아래에서는 90proxy를 사용한다. 단지 앞에 숫자를 붙이면 정렬이 되어서 보기 좋기 때문이다.

$ sudo vi /etc/apt/apt.conf.d/90proxy

 

2. file에 proxy 정보 저장

Acquire::http::proxy "http://proxy.server:port/";

Acquire::https::proxy "http://proxy.server:port/";

 

사용예)

Acquire::http::proxy "http://127.0.0.1:8080/";

Acquire::https::proxy "http://127.0.0.1:8080/";

 

proxy server에 비밀번호가 있는 경우는 아래처럼 설정한다.

Acquire::http::proxy "http://user:password@proxy.server:port/";

Acquire::https::proxy "http://user:password@proxy.server:port/";

 

3. 호완되는 다른 형식

Acquire {

    HTTP::proxy "http://proxy.server:port/";

    HTTPS::proxy "http://proxy.server:port/";

}

 

또는

Acquire {
    HTTP {
        Proxy "http://proxy.server:port/";
    };
    HTTPS {
        Proxy "http://proxy.server:port/";
    };
}

 

□ VI가 안될 때 팁

누구나 아는 방법일 뿐이지만, 쉽게 copy & paste 하시길... 리다이렉트 옵션인 > 와 >> 가 중요하다.

$ export http_proxy="http://proxy.server:port"
$ export https_proxy="http://proxy.server:port"

$ touch /etc/apt/apt.conf.d/proxy.conf
$ echo "Acquire::http::Proxy \"http://proxy.server:port/\";" > /etc/apt/apt.conf.d/proxy.conf
$ echo "Acquire::https::Proxy \"https://proxy.server:port/\";" >> /etc/apt/apt.conf.d/proxy.conf

 

// 큰따옴표(") 대신 작은따옴표(')를 써도 됨. 이 경우 \ 를 안써도 되서 좀 더 편함

$ echo 'Acquire::http::Proxy "http://proxy.server:port/";' > /etc/apt/apt.conf.d/proxy.conf
$ echo 'Acquire::https::Proxy "https://proxy.server:port/;' >> /etc/apt/apt.conf.d/proxy.conf

 

확인은 cat 명령어 수행 시 Acquire... 가 나오면 성공

$ cat /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://proxy.server:port/";
Acquire::https::Proxy "https://proxy.server:port/";

 

끝으로 apt-get update 등으로 proxy setting이 잘되었는지 확인해 보면 된다.

반응형

'Linux > Proxy' 카테고리의 다른 글

Proxy setting, jupyter notebook  (0) 2020.02.06
Proxy setting, conda (Windows)  (0) 2019.12.08
Proxy setting, pip (ubuntu)  (0) 2019.11.08
Proxy setting, conda (ubuntu 18.04)  (0) 2019.11.08
Proxy setting, docker (ubuntu 18.04)  (0) 2019.11.08

+ Recent posts