LinuCやAWS系の学習をしていると、どうしてもDockerの知識が必要となります。
業務で使うのでなければ、参考書だけ読んで知識を習得するでもいいですが、
できれば実際にその技術に触れてみて、理解を深めるのが一番です。
しかし資格試験の場合はDockerの学習だけではなく、幅広く学習しなければなりません。
Dockerの勉強に時間を割けるのもわずかだと思います。
今回は「なんとなくでもDcokerのイメージを掴む」を目標に
コンテナを作って消すまで一連の流れを記載します。
30分もかからず一通りできる内容なので、
「とりあえずDcokerを試してみたい!」という方は、記載の内容を試してみてください。
DockerでWebサーバーを作って消すまでの流れ
気軽に試せるように、 「Docker Desktop」を使ってコンテナを作ります。
公式サイトからインストーラーをダウンロードするだけで簡単にDockerが使えるようになります。
Docker Desktopをインストール
公式サイトからDockerをダウンロードしてインストールください。
「Docker Desktop」はMacかwindowsのみです。
macはintelチップとM1チップでインストーラーが違うので注意してください
インストール後Dockerの起動まで実施します。
アプリが起動したり、タスクバーなどにクジラマークが表示されればOKです。
Webサーバーのコンテナを作成する
早速コンテナを作成します。
windowsならコマンドプロンプト、Macならターミナルを起動します。
起動できたら下記コマンドを実行してください。
docker container run --name webserver1 -d -p 8080:80 httpd
意味は次のとおりです。
- docker:Dockerコマンドを使う
- container:コンテナ操作関連のコマンド(省略可能)他にはimageやnetworkなどもある
- run:Dockerのイメージをダウンロードしてコンテナを作るコマンド
- –name:コンテナに名前をつけるオプション、今回は「webserver1」とつける
- -d:バックグランウド実行させるためのオプション
- -p:ホストPCとコンテナの通信用ポートのマッピングオプション8080:80はホストPCの8080ポートにアクセスすれば、コンテナの80番ポートに繋がるように指定
- httpd:Apacheのイメージを指定
これだけでコンテナが作成され、中でwebサーバーが起動します。
コンテナの起動状態を確認する
コンテナの起動状態をコマンドで確認します。
docker ps
dockerのpsコマンドで起動中のコンテナを確認できます。(あくまで起動中のコンテナのみです)
下記のように表示されれば起動できています。CONTAINER IDはランダムな値となります。
コンテナのWebサーバーへサクセスしてみる
コンテナの中で起動されているWebサーバーへアクセスしてみます。
-pオプションでポートを指定したので、指定したポートで接続します。
webブラウザで下記の通り入力してください。
接続できるとwebページが表示されます。
コンテナを停止する
コンテナの起動確認ができたので、コンテナを停止させます。
docker container stop webserver1
意味は次のとおりです。
- docker:Dockerコマンドを使う
- container:コンテナ操作関連のコマンド(省略可能)
- stop:指定したコンテナを停止する
- webserver1:停止するコンテナをして(コンテナのIDでも指定可能)
停止ができたか確認します。
docker ps
停止したコンテナを表示されません。
停止したコンテナを確認するには-aオプションを使用します。
docker ps -a
コンテナが表示されますが、STATUSがExitedになっているはずです。
停止したコンテナを起動する場合はstartコマンドで起動させます。
docker container start webserver1
コンテナを削除する
使わなくなったコンテナは削除します。
なお削除する場合は停止中でないとエラーとなるので、削除の場合はコンテナが停止していることを確認して実行してください。
コンテナ削除コマンドです。
docker container rm webserver1
rmコマンドで削除できます。
- docker:Dockerコマンドを使う
- container:コンテナ操作関連のコマンド(省略可能)
- rm:指定したコンテナを削除する
- webserver1:停止するコンテナをして(コンテナのIDでも指定可能)
削除するとdocker ps -aコマンドでも表示されなくなっているはずです。
イメージを削除する
コンテナの削除までは完了していますが、最後にイメージを削除します。
コンテナを削除してもイメージは消えないので明示的に削除を行います。
※コンテナイメージは初めにrunコマンドを使ったときに自動的にダウンロードしています。
まずはイメージを確認します。
docker image ls
- docker:Dockerコマンドを使う
- image:イメージ操作関連のコマンド
- ls:イメージ一覧表示
httpdが確認できるかと思います。これを削除します。
docker image rm httpd
- docker:Dockerコマンドを使う
- image:イメージ操作関連のコマンド
- rm:削除コマンド
- httpd:コンテナのイメージ
実行後もう一度「docker image ls」を行いhttpdのイメージが消えていればOKです。
まとめ
Dockerでコンテナの起動から削除までを行なってみました。
コンテナを使えば非常に気軽にWebサーバーを起動できるイメージがついたと思います。
今回はただ、Apacheサーバーを単体で起動しただけですが、本来は複数コンテナを起動し、それらをコンテナ間で通信できるようにすることで本格的なシステムを作っていきます。
ちゃんとDcokerについて学習しようと思った方は是非書籍を購入して学習してみてください。
入門書として下記が非常にわかりやすくておすすめです。
1日1時間の学習時間でも1週間あれば読み終えるとことできると思います。
Dcokerおすすめの入門書
仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん (Compass Booksシリーズ)
コメント