AmazonEC2の「CentOS7」インスタンスでDocker環境を試してみる

AmazonEC2の「CentOS7」インスタンスでDocker環境を試してみます。(Windows10)

AWS初心者がAmazonEC2の「CentOS7」のインスタンスを作成してみましたという記事を公開しましたが、この「CentOS7」のインスタンスでDocker環境を試してみます。

参考にしたURL:https://www.kubalog.com/docker/docker_tech/install-on-centos7/

そもそもDockerとは何なのか?Dockerは、アプリケーションを素早く構築、テスト、デプロイできるソフトウェアプラットフォーム。デプロイは、実行する環境に合わせ、実際にアプリケーションを実行できること。

「CentOS7」インスタンスに接続する

まずは、AWSマネジメントコンソールから、EC2のコンソールへ移動します。移動した後に、「実行中のインスタンス」をクリックし、作成した「CentOS 7 (x86_64) – with Updates HVM」を選択する。

選択後、「接続」ボタンをクリックする。

クリックすると、「インスタンスに接続」のウインドウが表示される。接続方法は「スタンドアロン SSH クライアント」を選択する。そして、Windows10で「PuTTY」を起動させる。

「インスタンスに接続」のウインドウに表示されたパブリック DNSを「HostName(or IP address)」の入力フォームに入力する。入力後、左側のCategoryから「SSH」の「Auth」をクリックする。

クリックした後は「Browse…」ボタンをクリックする。

クリックした後に、「PuTTY Key Generator」で作成した「ppk」形式のファイルを選択し、「開く」ボタンをクリックする。

クリックした後は、「Open」ボタンをクリックする。

Dockerのインストール

クリックした後は、ターミナルウィンドウが表示されます。「login as:」と表示されますので、「centos」と入力し、ENTERキーを押します。

sudo yum update -y

ENTERキーを押した後に、CentOS7に、インストール済みのパッケージをアップデートしますので、上記のコマンドを入力し、ENTERキーを押します。

ENTERキーを押すと、アップデートが開始され、完了します。

[centos@ip-XXX-XXX-XXX-XXX ~]$ sudo su -

[root@ip-XXX-XXX-XXX-XXX ~]# timedatectl set-timezone Asia/Tokyo

完了後、rootでタイムゾーン設定をする。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

設定後、上記のコマンドで、Docker-CEのインストールを行うため、入力するが、

Loaded plugins: fastestmirror
You need to be root to perform this command.

上記のメッセージが表示される。どうやらroot権限がない状態のようだ。

なので、

[centos@ip○○~]$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 
[centos@ip○○~]$ sudo !!

上記のsudoで、直前のコマンドを実行してみる。

sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/dock er-ce.repo Loaded plugins: fastestmirror adding repo from: https://download.docker.com/linux/centos/docker-ce.repo grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yu m.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo

実行してみると、上記のようなメッセージが表示される。うまくいったようだ。

[centos@ip○○~]$ yum install -y docker-ce
[centos@ip○○~]$ sudo !!

次に、上記のコマンドを入力し、実行してみる。

sudo yum install -y docoker-ce
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: d36uat ko69830t.cloudfront.net
* extras: d36uatko69830t.cloudfront.net
* updates: d36uatko69830t.cloudfront.net
docker-ce-stable| 3.5 kB 00:00
(1/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00
(2/2): docker-ce-stable/x86_64/primary_db | 44 kB 00:00
No package docoker-ce available.
Error: Nothing to do

「docoker-ceパッケージはありません。エラー:何もする必要はありません(No package docoker-ce available. Error: Nothing to do)」というメッセージが表示される。パッケージがちゃんとダウンロードされず、インストールできなかった模様である。

systemctl start docker

とりあえず先に進めて、上記のコマンドを入力し、実行してみる。

==== AUTHENTICATING FOR org.freedesktop.systemdl.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: cloud User (centos)
Password: Failed to start docker.service: Connection timed out
See system logs and systemctl status docker.service’ for details.

実行してみると、「org.freedesktop.systemdl.manage-unitsの認証」というメッセージが表示される。「システムサービスまたはユニットを管理するには認証が必要です。」という内容で、「Password」を求められるが、そもそもAmazonEC2上で「CentOS7」インスタンスを作成した時にPasswordを設定した記憶がない。

AWSマネジメントコンソールにルートユーザーでログインする際のPasswordかと思ったが違うような気がする。調べてみると、AWSの「EC2 Linux インスタンスの root パスワードを設定または変更」に関してのQ&Aページを見つける。このページの中で、「インスタンスに root パスワードがありません。」と記載されており、そもそもPasswordがない(設定されていない)ということだ。

ページには、「rootユーザーに一時パスワードを追加する」方法が記載されていたので、

sudo su

# passwd root

root権限に切り替えて、一時的な root パスワードを作成した。

root権限で、

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

上記のDocker-CEのインストールを行うためのコマンドからやり直してみる。

やり直してみるとうまくいっているようだ。

Docker-CEのインストールが完了できた。

次に、Dokcerの起動と自動起動の有効化を行うために、

systemctl start docker
systemctl enable docker

上記のコマンドを入力し、有効化を行う。

次に、Docker-Composeのインストールを行う。

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

ここで注意したのは、「`uname -s`-`uname -m`」とあるが、アポストロフィではなく、グレイヴ・アクセントを入力すること。

Docker-Composeのインストールが完了すると、Dokcer-machineのインストールも行う。

curl -L https://github.com/docker/machine/releases/download/v0.7.0/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine
chmod +x /usr/local/bin/docker-machine

こちらも、アポストロフィではなく、グレイヴ・アクセントに注意して、入力する。

入力後、実行すると、インストールが完了となる。

バージョンを確認する

これでDockerのインストールは完了となるが、バージョンの確認を行うため、root権限を切り替えて、一般ユーザーにする。

docker -v

上記のコマンドでDockerのバージョンを確認してみる。

次にDokcer-composeと、Dokcer-machineのバージョンを確認してみる。

Docker、Dokcer-compose、Dokcer-machine、それぞれのバージョンを確認することができました。

コメント

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