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-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を使用すると以下のエラーが発生するかと思います。
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を入門するにはピッタリです。
Udemyの講座でマスターする
ゼロからはじめる Dockerによるアプリケーション実行環境構築
基礎から最速でDockerをマスターしたいという方には、やっぱりUdemyがオススメです!
忙しくてなかなか勉強時間が取れない方など、隙間時間に動画をみて、空いた時間で実際に手を動かしてやってみるなど工夫すると最速でDockerが理解できるのでオススメなのです!
僕もこちらの動画を受講して、今ではプロジェクトで使用するDocker環境の構築を担当しています。
動画自体は、ベストセラーの評価受けていることからもわかる通り、とても品質が高く、初心者からDockerを初めたい経験者の方まで満足できるかと思います。
プログラミング初級者は、じっくり動画進めてDockerをマスターしちゃってください!
プログラミング中級者以上は、動画見ているだけでも理解できると思うので、Dockerの全体像がすぐ理解できると思います。
動画なので、2倍速などで視聴すれば本当に最速でDockerをマスターできちゃうのでオススメです!
まずDocker教材の一個目として書籍が良い方は、上記で紹介したプログラマのためのDocker教科書、動画で最速で理解したい方は、Udemyのゼロからはじめる Dockerによるアプリケーション実行環境構築で始めれば間違いないと思います!
※こちらの画像をクリックするとUdemyの講座のページへ飛ぶことができます!
コメント