ロボット研究開発、ソフトウェア開発、コンテンツ制作配信

【Docker】#03コンテナ起動、停止、削除とコンテナとの通信


前回の記事(#02 Dockerのインストール)では、PC(iMac)にDocker desktopをインストールしました。
今回は、実際にコマンドを使って、コンテナの起動、確認、停止、削除をやってみようと思います。

参考にした書籍は、以下です。
[参考書籍]
仕組みと使い方がわかる」Docker&Kubernetesのきほんのきほん
スポンサーリンク

コンテナ起動、確認、停止、削除

コンテナ起動

書籍に習って、Apache(Webサーバー)のイメージからコンテナを作成してみます。
以下のコマンドを実行します。

docker run --name apa000ex1 -d httpd

オプション
--name XXXX : コンテナにXXXXという名前を付ける
-d: バックグラウンドで実行
httpd: Apacheのイメージ名

docker runは、PC上にイメージが無い場合、イメージのダウンロードとコンテナの作成、コンテナの起動まで一気にやってくれるコマンドです。

コンテナ稼働確認

以下コマンドでコンテナが稼働しているか確認してみます。

docker ps

STATUSがUpになっていますので、問題なく稼働しているようです。

コンテナを停止する

コンテナを停止してみます。
以下のコマンドを入力します。

docker stop apa000ex1

コンテナの稼働状況を確認してみます。

docker ps

コンテナ一覧からなくなってますので、問題なくコンテナが停止しているようです。

念の為、docker psに-aオプションをつけて、すべてのコンテナを表示してみます。

docker ps -a

apa000ex1のSTATUSがExitedになっています。コンテナは存在するが稼働していない状態ですね。

コンテナ削除

最後に以下コマンドでコンテナを削除します。

docker rm apa000ex1

コンテナの一覧を確認します。

docker ps -a

apa000ex1が無くなってます。問題なくコンテナを削除できているみたいです。

ちなみに、コンテナはイメージから作成しますので、以下でイメージのリストを確認すると、httpdのイメージは残ってますね。
イメージとコンテナを混同しないようにしないとですね。

docker image list

コンテナとの通信

さて、せっかくApache(Webサーバー)のコンテナを作成するのなら、ホストPCからブラウザでアクセスするようにしたいです。
何も設定していない状態ではブラウザでコンテナにアクセスすることはできないようです。
したがって、docker runのオプションでportを設定してアクセスできるようにします。
ホスト側のポートの8080をApache側のポート80に繋ぐようなオプション設定を追加します。

オプションport設定
-p ホストのポート番号:コンテナのポート番号

実際、以下のようなコマンドを入力します。

docker run --name apa000ex2 -d -p 8080:80 httpd

ブラウザで、http://localhost:8080/ にアクセスしてみます。

Apacheの初期画面が表示されました。

先ほどと同じように、コンテナの停止、削除をやってみます。

docker stop apa000ex2
docker rm apa000ex2

コンテナの一覧を確認してみます。

docker ps -a

ちゃんと削除できてます。

最後に

今回は、コマンドを使って、コンテナの起動、停止、削除、 コンテナと通信するためのポート設定について実践してみました。
最終的には、自ロボットの開発環境をDocker化することを目標にしていますが、まだまだ理解していないことが多いので地道に勉強してブログでアウトプットしていきます。
それでは!

スポンサーリンク

いいね!を押すと、
最新記事をお届けします。

Twitter で
関連記事(一部広告含む)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ページトップボタン