この記事では、AWS上のUbuntuサーバーにDocker Engineをインストールする方法について解説します。
多少、冗長になっている部分もあるかと思いますが、ご了承ください。
書籍「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築」
を参考にしております。
全体の流れ
以下の流れでインストールを進めます
- パッケージをアップデートする
- 必要なパッケージをインストールする
- DockerのオフィシャルGPGキーを追加する
- Dockerダウンロードサイトをaptレポジトリに追加する
- Docker Engine一式をインストールする
- ubuntuユーザーでdockerを利用できるようにする
- Docker Engineがインストールされたかどうかの確認
0. AWS上のUbuntuサーバーにログインする
$ ssh ubuntu@[IPアドレス] -i [ 秘密鍵ファイル ]
1. パッケージをアップデートする
$ sudo apt-get update
apt-get
コマンドはパッケージをインストールor削除するためのコマンドになります。様々なコマンドがありますが、中でも、sudo apt-get update
コマンドは、repositoryに新たに追加されたパッケージなど、変更されたパッケージの情報を更新します。
2. 必要なパッケージをインストールする
$ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-aagent software-properties-common
オプション -y
は問い合わせにすべて「y」と返答するオプションです。(Is this ok [y/N]:のような問い合わせがあった場合に常に「y」と応答します)
3. DockerのオフィシャルGPGキーを追加する
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
オプションについて
オプション-fsSL
はオプション -f -s -S -L
をまとめたものになります。
それぞれのオプションの具体的な機能に関しては以下のようになるそうです。(引用元)
- HTTPリクエストがサーバーのエラーにより失敗した時に22というEXIT CODEを返す。
- 進行の状況を表示せず、エラーメッセージは表示する。
- アクセスしたページが移動していた場合、もう1度移動先にリクエストを送る。
|
(パイプ)について
|
はパイプと呼ばれます。パイプとは、Linuxコマンドを使って標準出力された内容を次のコマンドへ橋渡しするために使われるコマンドとなります。
4. Dockerダウンロードサイトをaptレポジトリに追加する
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
なお、bashで長いコマンドを入力する場合、バックスラッシュ\
を使用することで、途中で改行させることができます。従って、以下のように書き直すこともできます。
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
5. Docker Engine一式をインストールする
パッケージをアップデートします。
$ sudo apt-get update
続いて、Docker Engineほか一式をインストールします。
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
6. ubuntuユーザーでdockerを利用できるようにする
$ sudo gpasswd -a ubuntu docker
適切にグループに加入できたかどうかを確認しましょう。グループの情報は/etc/group
ファイルに保存されています。
$ cat /etc/group
ubuntu:x:1000:
docker:x:999:ubuntu
上記のように、docker
の行に、ubuntuと表示されていればOKです。groupファイルの詳細についてはこちらの記事をご覧ください。
7. Docker Engineがインストールされたかどうかの確認
docker --version
コマンドを入力することで、バージョン番号を確認することができます。
以下のようなメッセージが表示されれば、正常にDocker Engineがインストールされています。
$ docker --version
Docker version 20.10.17, build 100c701
参考