Rubyと筋肉とギターとわたし

エンジニア二年目の雑魚です。プログラミング・ギター・筋トレのことをメインにブログを書いていきます。

ubuntu(elementary OS)16.04.1へdockerをインストール

今更ですが、新しいPCでもdockerの環境が必要となってきたので構築しました。

dockerリファレンスを参考にやっていきます(手順は全くそのままです)。

今回はDockerCE(コミュニティ版)をインスコしていきますよ。

URL http://docs.docker.jp/engine/installation/linux/docker-ce/ubuntu.html

まずは必要なパッケージをインストール

httpsを通してaptが使えるようにします。

$ sudo apt install \
> apt-transport-https \
> ca-certificates \
> curl \
> software-properties-common

リファレンスの方ではapt-getを使っていますが、諸事情によりaptコマンドです。

「再起動が必要」とか言ってくるかもしれないですが、スルーです。

こういった記事があるので参照するといいかもね(しらんけど)。

linuxfan.info

DockerのGPG鍵の追加

curlで取ってくる。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

OKと返ってきた(よーわからんけど)。

fingerprintやらがあるらしいので確認してみる。

$ sudo apt-key fingerprint 0EBFCD88
pub   4096R/0EBFCD88 2017-02-22
      フィンガー・プリント = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88がちゃんと返ってきました。よかったぁ。

dockerの安定版を設定する

まずは。自分のubuntuが32bitなのか64bitなのか確認。

僕の場合は64bitなのでamd64にのっているコマンドを打ちます。

一応確認方法は以下

$ uname -a
LinuxHP-Spectre-x360-Convertible-13-ac0XX 4.13.0-38-generic #43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

x86_64とかamd64と書かれていれば64bit、i686とか書かれていれば32bit。

上のがわかりにくければ以下のコマンド。

$ getconf LONG_BIT
64

32bitであれば32と出てくるはずです(しらんけどな)。

amd64用のコマンド

$ sudo add-apt-repository \
> "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    $(lsb_release -cs) \
>    stable"

多分これでおk。

dockerCEのインスコ

aptを更新する。

$ sudo apt update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease                                                                                                                         
無視:3 http://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                                 
ヒット:4 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease                                                                                                                       
ヒット:5 http://dl.google.com/linux/chrome/deb stable Release                                                                                                                         
ヒット:7 http://security.ubuntu.com/ubuntu xenial-security InRelease                                                      
ヒット:8 http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial InRelease              
無視:9 https://download.docker.com/linux/ubuntu loki InRelease                                                         
取得:10 http://packages.elementary.io/appcenter xenial InRelease [6,128 B]                                             
エラー:11 https://download.docker.com/linux/ubuntu loki Release                                
  404  Not Found
ヒット:12 http://ppa.launchpad.net/elementary-os/os-patches/ubuntu xenial InRelease
取得:13 http://packages.elementary.io/appcenter xenial/main amd64 DEP-11 Metadata [63.4 kB]                             
ヒット:14 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease                            
ヒット:15 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease                      
パッケージリストを読み込んでいます... 完了
E: リポジトリ https://download.docker.com/linux/ubuntu loki Release には Release ファイルがありません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

https://download.docker.com/linux/ubuntu 上記URLから404が返ってきてるんですけど。イミフ。

一旦再起動してみた

ダメでした\(^o^)/

なので、こちらを参考にしてみてubuntu最新のdocker-ceをインスコします。

ubuntu17.10にdockerをインストールする方法 : 試行錯誤な日々

まずはリポジトリの削除

add-apt-repository-rオプションをつけるとリポジトリを削除できます。んで、zestyってやつが最新みたいなのでそれを指定してリポジトリを作ってみる。

$ sudo add-apt-repository -r "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
> $(lsb_release -cs) \
> stable"

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    zesty \
>    stable"

これでおk。

sudo apt updateだ

$ sudo apt update
ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease                                                                                                                         
無視:3 http://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                                 
ヒット:4 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease                                                                                                                       
取得:5 https://download.docker.com/linux/ubuntu zesty InRelease [49.8 kB]                                                                                                                     
ヒット:6 http://dl.google.com/linux/chrome/deb stable Release                                                                                                                                 
ヒット:8 http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial InRelease                                                                                                        
取得:9 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]                                                                          
取得:10 http://packages.elementary.io/appcenter xenial InRelease [6,128 B]                                                                             
取得:11 https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages [2,477 B]                                             
ヒット:12 http://ppa.launchpad.net/elementary-os/os-patches/ubuntu xenial InRelease                                               
取得:13 http://packages.elementary.io/appcenter xenial/main amd64 DEP-11 Metadata [64.1 kB]                                                              
ヒット:14 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease                                                             
ヒット:15 https://packagecloud.io/slacktechnologies/slack/debian jessie InRelease
225 kB を 1秒 で取得しました (117 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています       
状態情報を読み取っています... 完了
パッケージはすべて最新です。

いけたぜぇ。

以下手順通りやっていく。

$ sudo apt install docker-ce

$ docker -v
Docker version 17.12.0-ce, build c97c6d6

無事docker-ceが入りました\(^o^)/

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

hello-worldもできましたよっと。

引き続きdockerの勉強をやっていきますb