この記事の目的
この記事では、
Dockerの学習環境を構築する準備作業の忘備録
を目的としています。
ゆくゆくは、kubernetesに入門したいと考えての記事になります!
参考)kubernetes実践入門
(Azure Antenna)AKSでコンテナアプリ DockerからKubernetesまで実践入門 - Speaker Deck
本題
★Ubuntu端末の入手
Kubernetes、dockerともに初心者の自分が環境を構築するまでの道のりは長い。
まずは、Dockerを動かす環境となるUbuntu端末を設定していきます。
参考の実践入門に従い、AzureにUbuntuの仮想端末を用意します。
AzureでLinux仮想マシンを作成する手順は、公式のクイックスタートを参考にしました。
docs.microsoft.com
クイックスタートに従い、無事に構築完了。
あらかじめインストールしておいた「Bash on Ubuntu on Windows」を使い、sshで仮想マシンへ接続します。接続方法も、クイックスタートに書かれています。
Bash on Ubuntu on Windowsでsshコマンドを実行し、作成した仮想マシンにログインできるところまでできたら、マシンの準備は完了です。
★dockerの環境構築
いよいよDockerの準備です。
Dockerのインストール手順は、公式ドキュメントを参考に進めていきます。
docs.docker.com
apt-getをアップデートしたり、HTTPSを使ってリポジトリへの参照を許可する設定を入れたりといろいろしていきます。(Windowsインストーラーだと、ダブルクリック→次へ次へでいけるので、若干不便に感じます。。。)
メモ;わからなかったコマンド
・curl -fsSL
・apt-key fingerprint
ドキュメントに書かれているリポジトリの設定が終わり、
sudo apt-get install docker-ce
コマンドが正常に終了すると、dockerコマンドが使えるようになります。
docker --version
で、インストールしたDockerのバージョンを確認することができるようになります。また、
sudo docker run hello-world
とすることで、HelloWorldイメージを実行することができます。
runコマンドを実行することで、Dockerが以下の処理を行ってくれます。
1.Docker HubからイメージをPull(取得)
2.イメージをもとにコンテナを起動
賢いですね(´▽`)
せっかくなので、DockerコンテナでHelloWorld以外のことも試してみました。
参考にさせていただいたサイトです。
とても分かりやすいです!
weblabo.oscasierra.net
apacheのhttpdを実行し、ブラウザでアクセスできるところまでやってみようと思います。
sudo docker pull httpd //httpdのイメージを取得 sudo docker run -d -p 8080:80 httpd
二行目は、httpdのイメージを実行するときに、
(-d)バックグランドで実行する。
(-p)ホストマシンの8080ポートと、コンテナの80番ポートを紐づける。
というオプションを指定しています。
これで、AzureのUbuntu仮想マシンのdockerにhttpdが起動したコンテナが作成されました。
このhttpdにアクセスするためには、AzureのUbuntu仮想マシンの8080ポートにアクセスする必要があります。
デフォルトでは、AzureのUbuntu仮想マシンの8080ポートは閉じているので、Azureポータルの「ネットワーク」設定から、受信ポートの規則に、8080を許可する規則を追加します。
仮想マシンの8080ポートを許可して、http://仮想マシンのIP:8080/でアクセスすることで、「It Works!」がブラウザに表示されます!
わかりやすいドキュメントと、ツールのおかげでするすると進めることができます( *´艸`)