とりあえずDockerを使ってみる【コンテナ起動から削除まで】

ネットワーク

LinuCやAWS系の学習をしていると、どうしてもDockerの知識が必要となります。

業務で使うのでなければ、参考書だけ読んで知識を習得するでもいいですが、

できれば実際にその技術に触れてみて、理解を深めるのが一番です。

しかし資格試験の場合はDockerの学習だけではなく、幅広く学習しなければなりません。

Dockerの勉強に時間を割けるのもわずかだと思います。

今回は「なんとなくでもDcokerのイメージを掴む」を目標に

コンテナを作って消すまで一連の流れを記載します。

30分もかからず一通りできる内容なので、

「とりあえずDcokerを試してみたい!」という方は、記載の内容を試してみてください。

DockerでWebサーバーを作って消すまでの流れ

気軽に試せるように、 「Docker Desktop」を使ってコンテナを作ります。

公式サイトからインストーラーをダウンロードするだけで簡単にDockerが使えるようになります。

Docker Desktopをインストール

公式サイトからDockerをダウンロードしてインストールください。

「Docker Desktop」はMacかwindowsのみです。

macはintelチップとM1チップでインストーラーが違うので注意してください

Docker公式サイトへ

インストール後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ブラウザで下記の通り入力してください。

http://0.0.0.0:8080

接続できるとwebページが表示されます。

今回は変わりやすいように0.0.0.0を指定しましたが、これは全てのIPアドレスにマッピングされるのでPCの実際のIPアドレスをしてしても接続できます。例えばIFのアドレスが192.168.1.2の場合、192.168.1.2:8080でも同じようにアクセスできます。

コンテナを停止する

コンテナの起動確認ができたので、コンテナを停止させます。

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シリーズ)

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん (Compass Booksシリーズ)

小笠原 種高
2,693円(01/13 16:52時点)
発売日: 2021/02/01
Amazonの情報を掲載しています

コメント