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、それぞれのバージョンを確認することができました。
コメント