こんにちはますのです。
DevOpsに若干の関心を抱いている今日この頃。
コンテナ技術やDockerについて聞いたことはあるものの、実際に触ったことが無いため少しお触りしておきたいなと重い腰を上げます。
兎にも角にもまずは環境構築をと思いますので、構築について備忘を残したいと思います。
Dockerの参考として購入していたこの書籍を参考にこれから色々お触りしていきたいなと。
Docker環境構築の概要
まずは環境をさくっと構築です。
- AWS:EC2インスタンスへ構築
- インスタンスタイプ:t2.micro
- 容量:20GB
- OS:Ubuntu 18.04.5
- パブリックネットワークに配置
- セキュリティグループ:許可IPは自端末のグローバルIPからのみに絞る
わたしはパブリックネットワークに配置するため、念には念を入れて自端末のグローバルIPからの通信のみを許可としました。認証鍵の流出が無い限りサーバ内をいたずらされないはずですが、爆死する恐怖から検証する際は極限まで絞りたい思いです。
ECSやEKSを触ったことなかったので、そちらを触るものとばかり思っていました。
本書後半には「ECS」「EKS」を触る場面があるので期待であります。
デフォルトで設定して疎通出来たような気もしますが、そこはファイトやで。
需要があるようであれば別記事化しようと思いますです。
Docker Engineインストールの事前準備
では実際に環境を構築していきましょう。Ubuntu構築は初めてなのです。
公式インストールドキュメントに「CentOS」や「Ubuntu」の内容があるので確認します。
https://docs.docker.com/engine/install/
まずは初期ユーザ名「ubuntu」でログイン。
パッケージのアップデートを実行
$ sudo apt-get update
Docker Engineの実行に必要なパッケージをインストール
aptをHTTPSでリポジトリへ通信出来るようにするために必要なパッケージをインストールします。
$ Update the apt package index and install packages to allow apt to use a repository over HTTPS:
DockerのオフィシャルGPGキーを追加する
ファイル改ざんがされていないことを確認するために使われる鍵ファイルです。
追加が完了すると「OK」と表示されます。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
追加されたことを確認するため「fingerprint」の末尾8文字の値が一致するか確認します。
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
Docker公式サイトをaptリポジトリへ追加する
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
以上でDocker Engineをインストールする事前準備が整いました。
Docker Engineをインストールする
再度aptのアップデートを実行し、Docker Engineをインストールする流れとなります。
$ sudo apt-get update
$ sudo apt-get -y install docker-ce docker-ce-cli containerd.io
Dockerを利用出来るユーザを追加する
初期のままだと「root」ユーザしか利用出来ないため「ubuntu」ユーザでも利用できるようにしておきます。
「グループ名:docker」に「ユーザ:ubuntu」を追加します。
$ sudo gpasswd -a ubuntu docker
Adding user ubuntu to group docker
Dockerコマンドが実行できるか確認
ここまででDocker環境のインストールと設定作業が完了しました。
実際にコマンドが入力できるかバージョン確認コマンドを実行してみます。
$ docker -v
Docker version 20.10.1, build 831ebea
バージョンの値が返ってくれば成功です。
以上でDocker環境の構築が完了となります。
せっかく作ったので少しお触りして感覚だけ掴んでいきたいなという意気込みであります。