Ubuntu18.04.1でDockerとdocker-composeをインストールする方法

Docker

UbuntuのOSを新しくした

普段PCでUbuntuを使用しているのですが、最近そのUbuntuのOSを新しくしました。

OSを新しくすると、毎回自分が使いやすいようにセットアップするのが結構大変です。

今回は現在では開発の必須のツールとなったDockerとdocker-composeをインストールする方法を備忘録として記載します。

実際に初期セットアップしながら記載しましたので、是非Dockerインストール時には役立ててください。

Ubuntuバージョン

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Dockerインストール手順

こちらを参考にしました。

Get Docker EE for Ubuntu | Docker Documentation

apt-getでインストール

apt-getで入れると楽でしたので、これで入れました。

$ sudo apt-get update

$ sudo apt-get install docker.io

 

バージョン確認

ちゃんとバージョンが表示されたのでOKです。

$ docker --version
Docker version 18.09.2, build 6247962

docker-composeをインストールする方法

docker-composeをインストールするには、以下の方法があります。

  • apt-getでインストール
  • バイナリからインストール

apt-getで入れると簡単ですが、バイナリからインストールする方法はバージョンを指定する時やオフラインでインストールする時に使用できるので両方記載しておきます。

apt-getでdocker-composeをインストールする方法

docker-composeをインストールする

以下のようにaptでとても簡単にdocker-composeをインストールできます!

$ sudo apt install docker-compose

インストールされたことの確認

バージョンを出力してインストールされたことを確認しましょう!

$ docker-compose -v
docker-compose version 1.17.1, build unknown

 

これでDockerのインストールは完了ですが、ここで注意して欲しいのは、Dockerを使用する一般ユーザに権限を与えないとエラーがでます。

本記事の後半に対応方法を記載していますので、以下のリンクからジャンプしてこちらの対応までやっておきましょう!

dockerを使用するとエラーが発生する

バイナリからdocker-composeをインストールする方法

こちらはバイナリからインストールする方法です。

こちらを参考にしました。

Docker Compose | Docker Documentation

Install Docker Compose | Docker Documentation

Docker Composeのダウンロード

Docker Composeを/usr/local/bin/へダウンロードします。

$ sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

 

コマンドとして使えるようにする

実行権限を付与してコマンドとして使えるようにしましょう。

$ sudo chmod +x /usr/local/bin/docker-compose

 

コマンドとして使えるようになったことの確認

確認のために絶対パスでdocker-composeを指定して、動作を確認してみます。

$ /usr/local/bin/docker-compose --version
docker-compose version 1.22.0, build f46880fe

 

PATHに追加

PATHに追加して、パスを指定しなくてもコマンドとして使えるようにしておきます。

~/.bashrc を更新時はターミナルから一回出てください

$ vi ~/.bashrc 
------------------------
export PATH=$PATH:/usr/local/bin/
------------------------

 

インストール完了の確認

これでちゃんとバージョンが表示されればOKです。

$ docker-compose --version
docker-compose version 1.22.0, build f46880fe

 

これでDockerのインストールは完了ですが、aptでインストールした時と同様に一般ユーザに権限を与えないとエラーがでます。

次項で対応方法を記載していますので、こちらの対応までやっておきましょう!

dockerを使用するとエラーが発生する

 

dockerを使用するとエラーが発生する

この段階でdockerを使用すると以下のエラーが発生するかと思います。

ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

 

sudoをつけて実行すれば動きますが色々と弊害もあるので、sudo なしでもdockerが使えるようにしておきましょう。

sudo なしでもdockerを使えるようにする

dockerグループを作る

groupaddでグループを作成します。

$ sudo groupadd docker

 

ユーザをdockerグループに追加する

$USERで現在のユーザ名を取得できるので、gpasswdを使用して先程作成したdockerグループに現ユーザを追加します。

$ sudo gpasswd -a $USER docker

 

ユーザがグループに追加されたことの確認

dockerグループの欄に、[追加したユーザ]の記載があれば追加されています。

$ cat /etc/group | grep docker
docker:x:1001:[追加したユーザ]

 

再起動する

ここで少しハマったのですが(なんか昔も同じことでハマった気がする)

dockerのサービスを再起動して、一旦ログアウト後、再ログインすると変更が反映されると他のサイトなどで記載があったのですが、何回やっても同じエラーが出てだめでした..。

そこで、OSごと再起動したらうまくいきましたので、ここへ記載しておきます。(ブログに記載したので次回はハマらないはず。)

 

ってことで、完了しました。

今時はほとんどDocker化して開発するので、Dockerのインストールはハマると辛いです..。

みなさんも是非参考にしてください。

 

またdocker-composeのバージョンが古くて、version3のdocker-compose.ymlが使えない!なんてこともありました。

こちらに詳しく記載しましたので、是非参考にしてください!

Docker Composeのバージョンが古くてdocker-compose.ymlのversion: ‘3’の記述が使えない時

 

Dockerを最速でマスターする!

書籍でマスターする

プログラマのためのDocker教科書

こちらの書籍は、まさにプログラマのためのDocker教科書と言って間違いありません!

プログラマーがDockerを学び始めるのに最適な一冊となっています。

内容的には、インフラが得意でないプログラマ向きではありますが、単純にDockerを触れたことがないプログラマの一冊目のDocker本としてオススメな内容となっています!

現在は最新版として第2版が発売されていますので、購入の際は最新の第2版を購入することをオススメします!

こちらから最新のDocker教科書が購入できますので、是非読んでDockerを基礎からマスターしちゃってください!


プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化

 

一個前の第1版を購入したい!という方はこちらにリンクを貼っておきましたので是非活用してください!


プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化

 

Docker/Kubernetes 実践コンテナ開発入門

この書籍は、Dockerをある程度理解している、またはDockerの本番運用を見据えてKubernetesを学習したい方にオススメの書籍です!

レベル的にはDockerの基本をある程度理解している方向けですので、今流行りのKubernetesという単語につられて購入しないように、初心者の方はご注意ください!

初心者の方は、上記のプログラマのためのDocker教科書から是非チャレンジしてくださいね!

 

中級者以上の方は、こちらの書籍を是非読んで見てください!

Dockerを開発環境だけで使っていた方あまりDockerを使いこなせていなかった方にとってもオススメです!

何がオススメかというと、まずこの書籍の前半にはDocker自体の説明も豊富で、実際に動かせるDockerのサンプルコードが多数あるのです!

しかもそのサンプルコードのクォリティーが高く、実際のDocker運用にそのまま使えるぐらいしっかり作られていると思います。

Kubernetesについてはとても難しい技術であるのは確かですが、説明も詳しく丁寧なのでこの本からKubernetesを入門するにはピッタリです。


Docker/Kubernetes 実践コンテナ開発入門

 

Udemyの講座でマスターする

ゼロからはじめる Dockerによるアプリケーション実行環境構築

基礎から最速でDockerをマスターしたいという方には、やっぱりUdemyがオススメです!

忙しくてなかなか勉強時間が取れない方など、隙間時間に動画をみて、空いた時間で実際に手を動かしてやってみるなど工夫すると最速でDockerが理解できるのでオススメなのです!

僕もこちらの動画を受講して、今ではプロジェクトで使用するDocker環境の構築を担当しています。

動画自体は、ベストセラーの評価受けていることからもわかる通り、とても品質が高く、初心者からDockerを初めたい経験者の方まで満足できるかと思います。

プログラミング初級者は、じっくり動画進めてDockerをマスターしちゃってください!

プログラミング中級者以上は、動画見ているだけでも理解できると思うので、Dockerの全体像がすぐ理解できると思います。

動画なので、2倍速などで視聴すれば本当に最速でDockerをマスターできちゃうのでオススメです!

まずDocker教材の一個目として書籍が良い方は、上記で紹介したプログラマのためのDocker教科書、動画で最速で理解したい方は、Udemyのゼロからはじめる Dockerによるアプリケーション実行環境構築で始めれば間違いないと思います!

※こちらの画像をクリックするとUdemyの講座のページへ飛ぶことができます!

 

コメント