【Docker】#03コンテナ起動、停止、削除とコンテナとの通信
前回の記事(#02 Dockerのインストール)では、PC(iMac)にDocker desktopをインストールしました。
今回は、実際にコマンドを使って、コンテナの起動、確認、停止、削除をやってみようと思います。
コンテナ起動、確認、停止、削除
コンテナ起動
書籍に習って、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化することを目標にしていますが、まだまだ理解していないことが多いので地道に勉強してブログでアウトプットしていきます。
それでは!
スポンサーリンク