BETA

VagrantのUbuntuにDockerを導入する手順

投稿日:2018-12-13
最終更新:2018-12-13

パッケージリストの更新

sudo apt update

インストール済パッケージの更新

sudo apt upgrade

ここでエラー

Configuring grub-pc  
A new version (/tmp/grub.BF0522NpMS) of configuration file /etc/default/grub is available, but the version installed currently has been locally modified.  

What do you want to do about modified configuration file grub?  

Vagrantでapt upgradeしたら出た。
参考サイトはVPSだけどおとなしく同じように処理。
'keep the local version currently installed'を選択。
一番上の/sdaにSpaceでチェック入れてEnter。

docker導入の前提ソフトを導入

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

私の環境には最初から入ってた。

GPD公開鍵のインストール

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

公開鍵のフィンガープリントを確認

$ sudo apt-key fingerprint 0EBFCD88  

以下のように出ればOK

pub   4096R/0EBFCD88 2017-02-22  
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88  
uid                  Docker Release (CE deb) <[email protected]>  
sub   4096R/F273FCD8 2017-02-22  

aptリポジトリの設定

aptコマンド用のリポジトリを設定する。
dockerではstable,edge,testが公開されている。
つまり、安定版、エッジ版、開発版の3つ。
ドキュメントにはstableのリポジトリ追加例があるので同じようにする。
対応しているCPUによってコマンドが違うので、自分の環境をarchで確認しておく。
ubuntuはx86_64版のコマンドを使う。

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

docker-ceのインストール

$ sudo apt update  
$ sudo apt install -y docker-ce  

終わったらdocker versionでバージョン確認して終わり。

ここでもエラー

Client:  
 Version:      18.03.1-ce  
 API version:  1.37  
 Go version:   go1.9.5  
 Git commit:   9ee9f40  
 Built:        Thu Apr 26 07:17:20 2018  
 OS/Arch:      linux/amd64  
 Experimental: false  
 Orchestrator: swarm  
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/version: dial unix /var/run/docker.sock: connect: permission denied  

エラー対応

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/version: dial unix /var/run/docker.sock: connect: permission denied
というエラー。
dockerコマンドはデフォルトではroot権限が必要と公式見解が出ている。
一般ユーザーで使う場合はdockerグループに追加する必要がある。

$ grep -i docker /etc/group  

docker: x:998:と出た。

$ sudo gpasswd -a {user_name} docker  

Adding user {user_name} to group dockerと出ればOK
念のためグループに追加されたか確認。

$ grep -i docker /etc/group  

docker: x:998:{user_name}と出たので、グループに追加できた。
一旦ログアウトし、再度ログイン。
docker versionで再度バージョンを確認すると、

Client:  
 Version:      18.03.1-ce  
 API version:  1.37  
 Go version:   go1.9.5  
 Git commit:   9ee9f40  
 Built:        Thu Apr 26 07:17:20 2018  
 OS/Arch:      linux/amd64  
 Experimental: false  
 Orchestrator: swarm  

Server:  
 Engine:  
  Version:      18.03.1-ce  
  API version:  1.37 (minimum version 1.12)  
  Go version:   go1.9.5  
  Git commit:   9ee9f40  
  Built:        Thu Apr 26 07:15:30 2018  
  OS/Arch:      linux/amd64  
  Experimental: false  

先ほどのエラーが消えた。
終わり。

参考サイト

Ubuntuにdockerをインストールする
['Got permission denied while trying to connect to the Docker daemon socket'への対応]

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@showyleeの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!