機械学習用のUbuntu環境構築メモ - 1 - Dockerインストール編
Azureで立てたUbuntuで、機械学習用の環境を構築したのでメモを残しておく。
Docker CEに、jupyter notebookを入れて使えるようにした。 今回はDockerインストール編
1. 環境の確認
Ubuntuのバージョンを確認
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.10 DISTRIB_CODENAME=cosmic DISTRIB_DESCRIPTION="Ubuntu 18.10"
アーキテクチャを確認
$ arch x86_64
uname -a
でもよい
2. プロキシ設定
会社のAzure環境なので、外に出るにはプロキシを通さないといけない。 プロキシの設定がないと色々と引っかかるので設定しておく
2.1 環境変数
実行ユーザの.bashrcに以下を追加
HTTP_PROXY=http://(ipaddr):(port) HTTPS_PROXY=http://(ipaddr):(port)
2.2 apt-get
/etc/apt/apt.confに以下を追加。(apt.confがなかったので自分で作成)
Acquire::http::proxy "http://(ipaddr):(port)"; Acquire::https::proxy "http://(ipaddr):(port)";
2.3 curl
~/.curlrcを作成し、以下を追加
proxy="http://(ipaddr):(port)"
参考 proxy環境下の設定(ubuntu 14.04) - Qiita
3. Docker CEのインストール
Dockerリポジトリからインストールを行う。 参考 https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository https://qiita.com/tkyonezu/items/0f6da57eb2d823d2611d
3. 1 Dockerリポジトリのセットアップ
1.パッケージインデックス更新
$ sudo apt-get update
2.aptコマンドが、HTTPSでリポジトリを使うために必要なパケージをインストールする
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
3.ドッカーの公開鍵をインストール
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
公開鍵のフィンガープリントが9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
となっていることを確認。
以下のコマンドで最後の8文字が0EBFCD88
となっている鍵を探す。
$ sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
4.リポジトリ設定
x86_64なので以下のコマンドを実行
$ sudo add-apt-repository ¥ "deb [arch=amd64] https://download.docker.com/linux/ubuntu ¥ $(lsb_release -cs) ¥ bionic test"
*マニュアル通り実行した場合、以下のエラーが発生した。
$ sudo apt-get install docker-ce Reading package lists... Done Building dependency tree Reading state information... Done Package docker-ce is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'docker-ce' has no installation candidate
コマンド中でも使用している$(lsb_release -cs)
でLinuxのディストリビューション名が表示されるが、
今回使用したcosmic版のstableがまだないためのようだ。(2018.12.04時点)
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
以下を参考にし、前述の通りコマンドを修正したところエラーはなくなった。
apt - Unable to locate package `docker-ce` on a 64bit ubuntu - Unix & Linux Stack Exchange
3.2 Docker CEインストール
1.パッケージインデックス更新
$ sudo apt-get update
2.Docekr CEインストール
$ sudo apt-get install docker-ce
3.3 動作確認
hello-worldイメージを使用して動作確認をするわけだが、その前に、Dockerデーモンが外にアクセスしに行くためにプロキシの設定をしてやる必要がある。
3.3.1 DockerのProxyを設定
$ sudo mkdir -p /etc/systemd/system/docker.service.d
2.プロキシ設定
/etc/systemd/system/docker.service.d/http-proxy.confファイルを作成し以下を追記
[Service] Environment="HTTP_PROXY=http://(ipaddr):(port)/"
3.変更の反映
sudo systemctl daemon-reload
4.Docker再起動
sudo systemctl restart docker
*参考 https://docs.docker.com/config/daemon/systemd/#httphttps-proxy
3.3.2 DockerでHello World
以下のコマンドで、メッセージが表示されることを確認
sudo docker run hello-world
次回は、jupyter notebook入れます。