今更ですが、新しい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
コマンドです。
「再起動が必要」とか言ってくるかもしれないですが、スルーです。
こういった記事があるので参照するといいかもね(しらんけど)。
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