ubuntu 18.04 LTSにDockerとdocker-composeを簡単にインストールする方法

ubuntu 18.04 LTSにDockerとdocker-composeを簡単にインストールする方法 自宅サーバー
スポンサーリンク

我が家では自宅サーバ(ubuntu 18.04 LTS)を立てて運用しています。
自宅サーバーを運用していると、日々のメンテナンスが欠かせません。また、長期間運用していると、

「なぜか正常に動かない」

とか、

「インストールからやり直したいけど一からやり直す気合は無いなぁ。」

など、運用上の悩みが出てきます。
こんな経験がある方やこれから自宅サーバを構築してみたい方は、Dockerを使ってシステム構築することをオススメします。
自分の場合は以前Raspberry piでDockerを構築・運用していたので、
手順は同じDebian系のubuntuでセットアップしていますが、centosでも手順は同じです。
本記事では 、Dockerとdocker-composeのインストール方法について紹介します。Dockerについての解説はここでは割愛します。

パッケージ管理ツール/パッケージ管理システム

Dockerをインストールする方法はいくつかありますが、本記事では最も簡単(であろう)パッケージ管理コマンドaptを使ったインストールをご紹介します。Centosの場合はyumですのでコマンドは適宜読み替えて実施してみてください。

パッケージ管理ツールによるインストールはサーバ構築初心者の方には個人的に強くお勧めしています。なぜなら、自分のサーバ運用の経験上、最も陥り易い&煩わしい問題がパッケージの依存性管理バージョン管理だからです。こうした問題は日々サーバのメンテナンスをしていたり、Linux知識に自信がある方なら起こりませんが、そうでない方は無難にパッケージ管理ツールを活用しましょう。私も使っています(むしろ、なるべく自分でパッケージをインストールしないようにしています)。

ECS Windows 10 Home Sモードを搭載した小型デスクトップパソコン LIVAZ-16/120-W10S(N4200)TS メモリ16GB ストレージ120GB+64GB
¥50,303 (2021/09/28 04:41:15時点 楽天市場調べ-詳細)

Dockerインストール

では、さっそくDockerをインストールしてみましょう。
実行コマンドは以下の通りです。

rootユーザの場合は、sudoは不要です。
以下のコマンドを打って応答が返ってくれば、Dockerのインストールは完了です。

docker-composeインストール

docker-composeは、複数のDockerコンテナで構成されるサービスにおいて、各Dockerイメージのビルドや各コンテナの起動・停止などをシステム単位で一括して行うことができるツールです。
docker-compose をインストールしなくてもDockerでコンテナを作成することはできますが、コンテナを連携させたサービス(例えば、DBとAPをそれぞれコンテナ化し、2つのコンテナを連携してサービスを提供するシステム) を構築する場合はインストールしておきましょう。これだけで構築の再現性が確保され、サーバの運用構築の効率性が格段にアップします。

docker-composeのインストールコマンドは以下の通りです。

こちらも、同様にrootユーザの場合は、sudoは不要です。
以下のコマンドを打って応答が返ってくれば、docker-composeのインストールは完了です。

dockerユーザの作成

Dockerのプロセスは、dockerグループまたはroot権限を持ったユーザ のみ制御することができます。つまりsudoコマンドでroot権限でのコマンド実行をすればDockerを制御できることになります。

しかし、Dockerを制御する度にsudoコマンドを打つのは煩わしく、サーバ運用の負担が大きいです。また、複数人の管理者によってDockerを制御するような環境なら、 必要なユーザをdockerグループに追加することをオススメします。

私は、自宅サーバのconsoleは自分しか触らないので、普段使っているユーザをdockerグループに追加することで、楽にDockerを制御できるようにできました。しかし、dockerグループの権限が必要な作業をしてしまった際に認識できるよう、あえてユーザを分けて運用しています。dockerグループ の権限で作業をしたのかが曖昧になって困ることはあんまりないですがセキュリティの面でも権限を分散させて運用しています。

また、普段からroot権限で作業しているとdockerグループ権限を無意識に行使してしまう可能性があります。そういったミスをなくすためにも、root権限を持っていないユーザでDockerを制御したほうが良いでしょう。これも、サーバ運用スキルによるのでユーザ作成は必須ではありません。

本記事では、Dockerを制御できるユーザ(docker)を作成して運用します。

ログインシェルの変更

これはお好みです。やらなくてもOK。
新規ユーザ作成時のデフォルトシェルが適用されています。
私はbashが使いやすいので、ログインシェルをbashに変更します。

これでDockerのインストール作業はおしまいです。
Dockerを使う際はdockerユーザで作業します。

ついでにgitもインストール

Dockerではありませんが、docker imageを作成する際に必要なgitもついでにインストールします。Docker hubではなく、Githubにアップロードされているコンテンツをダウンロードする際に便利です。

Dockerのサンプルをいくつか紹介していますので、ぜひ参考にしてみてください。

おまけ

私と同じ環境で構築される場合、構築で躓いた際にサポートできると思います。メモリ8GB以上を選択すればエンコード等しても性能的に問題はないと思います。Windows10マシンですが、私はUbuntuを上書きインストールして自宅サーバを構築しています。

ECS Windows 10 Home Sモードを搭載した小型デスクトップパソコン LIVAZ-16/120-W10S(N4200)TS メモリ16GB ストレージ120GB+64GB
¥50,303 (2021/09/28 04:41:15時点 楽天市場調べ-詳細)

コメント

  1. sss より:

    su – docker chsh -s /bin/bash exit
    ここ、
    /usr/bin/chsh: /usr/bin/chsh: cannot execute binary file
    って出ますね。

タイトルとURLをコピーしました