proxy 노코토쵸 와카루메모 (Ubuntu 18.04에서의 proxy 설정에 대해서)

전제


  • 코피페로 움직이도록 명령은 그대로 붙여넣고 있습니다.
  • 이 기사에서는 프록시 서버의 IP 주소를 "192.168.0.1", 포트는 "1"로 설정합니다.
  • 사내 서버 등에 proxy 없이 액세스하는 경우는 no_proxy의 설정이 필요합니다만, 이 기사에서는 생략합니다.
  • ~/.bashrc나 시스템 설정에 쓰지 않고, 다음의 패키지등으로 개별적으로 설정합니다.
  • apt
  • Docker(pull)
  • Docker(run)
  • Firefox
  • git
  • wget
  • curl
  • pip


  • 환경 등


  • 동작 확인한 환경은 아래 표와 같습니다.



  • 이름 (버전)


    OS
    우분투(18.04)

    apt
    (1.6.6 (amd64))

    도커
    (18.06.1-ce)

    Firefox
    (65.0)

    git
    (2.20.1)

    wget
    (1.19.4)

    curl
    (7.58.0)

    pip
    (19.0.2)


    프록시 설정



    변수 설정


  • 실제로 설정하는 IP 주소와 포트는 네트워크 관리자에게 문의해야 한다.
  • export HTTP_PROXY=http://192.168.0.1:1
    

    apt


  • 구성 파일을 만듭니다.
  • echo -e "Acquire::http::proxy \"$HTTP_PROXY\";\\nAcquire::https::proxy \"$HTTP_PROXY\";\\nAcquire::ftp::proxy \"$HTTP_PROXY\";" | sudo tee /etc/apt/apt.conf
    

    Docker(pull)


  • 디렉토리 및 구성 파일을 작성하고 반영합니다.
  • sudo mkdir /etc/systemd/system/docker.service.d
    echo -e "[Service]\\nEnvironment=\"HTTP_PROXY=$HTTP_PROXY/\"" | sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    Docker(run)


  • 옵션과 설정 파일과 두 가지 방법이 있다.
  • 환경 변수를 설정 한 후 commit하면 image 설정으로 저장됩니까? 그래서 조심하십시오.
  • Ubuntu 기반 컨테이너에서 프록시를 적절하게 설정하면 패키지마다 프록시를 설정할 필요가 없습니다.
  • proxy를 설정하는 환경 변수와 각 명령의 조사 결과는 아래 표와 같다. (이 기사가 필요없는 설)



  • http_proxy
    https_proxy
    HTTP_PROXY
    HTTPS_PROXY


    apt





    pip





    git(https://~)





    wget(http://~)





    wget(https://~)





    curl(http://~)





    curl(https://~)






    명령 실행시 옵션으로 설정하는 경우


  • 다음의 예에서는, 환경 변수 「HTTP_PROXY」와 「http_proxy」로 설정해, docker run 커멘드를 실행하고 있다.
  • docker run -it --rm -e HTTP_PROXY=$HTTP_PROXY -e http_proxy=$HTTP_PROXY --name ubuntu1604 ubuntu:16.04
    

    설정 파일에서 설정하는 경우


  • 다음의 예에서는, 환경 변수 「HTTP_PROXY」와 「http_proxy」로 설정된다.
  • 설정 파일을 만든 후 docker run을 실행하면 모든 컨테이너에 적용되지만 -e 옵션으로 덮어 쓸 수 있습니다.
  • mkdir ~/.docker/
    echo -e "{\\n \"proxies\":\\n {\\n  \"default\":\\n  {\\n   \"httpProxy\": \"$HTTP_PROXY\"\\n  }\\n }\\n}\\n" > ~/.docker/config.json
    

    Firefox


  • 메뉴 버튼을 클릭하고 설정을 선택합니다.
  • "about:preferences"페이지 하단의 "네트워크 설정"> "고급 설정"에서 설정한다.
  • 이하, 설정 예


  • git


  • 다음 명령으로 설정합니다.
  • git config --global http.proxy $HTTP_PROXY
    
  • 구성 파일이 생성됩니다

  • ~/.gitconfig
    [http]
        proxy = http://192.168.0.1:0
    

    wget


  • 구성 파일을 만듭니다.
  • echo -e "\\nhttps_proxy = $HTTP_PROXY\\nhttp_proxy = $HTTP_PROXY\\nftp_proxy = $HTTP_PROXY" | sudo tee -a /etc/wgetrc
    

    curl


  • 구성 파일을 만듭니다.
  • echo "proxy = \"$HTTP_PROXY\"" > ~/.curlrc
    

    pip



    명령 실행시 옵션으로 설정하는 경우


  • a
  • 설정 파일에서 설정하는 경우

    좋은 웹페이지 즐겨찾기