技術日記()

てきとーに気になったことなど書いていきます

Proxy環境下でのDocker導入メモ

環境

% uname -a
Linux sakura 3.16-2-amd64 #1 SMP Debian 3.16.3-2 (2014-09-20) x86_64 GNU/Linux

% lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie

導入手順

まずは公式通り進める リンク(以下手順は上記環境の場合のもの)

# バージョンが3.10以上か確認
% uname -r
3.16-2-amd64

# 必要なパッケージのインストール
% sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common

# プロキシ未設定の場合は「-x xxx.xxx.xxx:8080」で設定
% curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# dockerをインストールパッケージリストに追加してインストール
% sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
% sudo apt-get update
% sudo apt-get install docker-ce

dockerの動作テスト

% sudo docker run hello-world

ここでプロキシが原因で通らないかつsystemd環境以外の場合は
export https_prox=...export http_proxy=...をすれば通るらしい.
私はsystemd環境だったので以下の設定をした.

# systemd環境用proxy設定
% sudo vim /lib/systemd/system/docker.service

# docker.service
...
[Service]
Environment='http_proxy=http://xxx.xxx.xxx:8080'
Environment='https_proxy=https://xxx.xxx.xxx:8080'
...

# 設定を読み込み直して再起動
% sudo systemctl daemon-reload
% sudo systemctl restart docker

おまけ Dockerfile からのイメージ作成時のプロキシ設定

# Dockerfile
From ...
ENV http_proxy http://xxx.xxx.xxx:8080
ENV https_proxy https://xxx.xxx.xxx:8080
RUN ...
RUN ...
% sudo docker build .

参考サイト

docs.docker.com qiita.com