Docker、k8sまとめ[第2回] Docker Desktopの利用
第1回はDocker、k8sの概要と
なぜ注目されているかを書きました。
今回は、Docker Desktop for Windowsについて記載します。
少し実際に使っていこうと思います。
Windowsですので(#^^#)
目次
Docker Desktop for Windwosの構造
前回、DockerはLinuxコンテナと言いました。
Docker Desktop for WindowsはWindowsにインストールします。
あれ??
DockerはホストOSを利用するのでホストOSがWindowsだと動くの??
実はこんな感じで動いています。(一昔前)
Hyper-VはWindows PROにしか入っておらず、
Windwos Homeでは使えませんでした。
なので古いやつ(Docker Toolbox)で動かさないといけなかったのですが、
現在はWSL2で利用できるようになったので
Windows Homeでも利用できるようになりました。
やりますね~
Docker Desktopのインストール
ここは他のサイトに任せましょうww 僕よりずっとよくまとめてくれているところがあるので。
Docker Desktop for Windows のインストール
ただ、Windows Homeで動かなかった時代のなので、Hyper-Vのあたりは不要だと思います。
イメージ作成
では、実際にnginx
を動かして、以下の画面を出してみましょう。
一発で実行はできるのですが、イメージとコンテナについて説明するために 2つに分けます。
まず、以下のコマンドでイメージを落としてきます。
docker pull nginx:latest
イメージというのは、アプリを動かすための
インストールメディアみたいな感じです。
これはまだ動いていません。
イメージがDocker Hubというところにあり、
そこからイメージをとってきて!というのがdocker pull
のところです。
Docker Hubのnginx
から最新(latest
)をとってきてと書いています。
latest
は省略可能かと。
docker images
で落としてきたnginxのイメージがあることを確認できます。
ベースとなるイメージをDocker Hubから持ってきて
それを編集して自分用のアプリのイメージを作ることができます。
そして、それをDocker Hubで公開することもできます。
イメージを作るには、いろいろありますが、
Dockerfileを使ってやるのが一般的かと思うので別の回で記載します。
コンテナ起動
イメージは作ったので次はコンテナを起動して、利用できるようにします。
コマンドは以下の通りです。
docker run --name nginx1 -d -p 8080:80 nginx
docker pull
を実行しなくても、pullも自動でしてくれると思います。
コマンドの意味ですが、
docker run
がコンテナを作って起動してね!です。
--name nginx1
が名前付けです。後で起動、停止、削除などを簡単にできるようにつけてます。
つけない場合は、自動で振られるIDを利用します。
-d
でバックグラウンドで動くようになります。
つけないと、ずっと動くプロセスなのでコマンド打てなくなるかと。
なくてもnginxは動きます。
8080:80
は左の8080
が外からのポート、80
がコンテナ内部のポート
これを紐づけてます。
ですので8080
でブラウザからアクセスるとコンテナ内の80
につないでnginxがつかえる。
という仕組みです。
ブラウザでhttp://localhost:8080/
とアクセスすると、以下の画面が出ると思います。
作成し、起動しているコンテナは以下のコマンドで確認できます。
docker ps
停止したのもすべて見たい場合は、-a
オプションをつけて以下です。
docker ps -a
コンテナを停止したい場合は、以下です。
docker stop nginx1
再度起動したい場合は、以下です。
docker start nginx1
docker run
で指定した条件で起動してくれます。
いっぱいコンテナを作ると、よくわからなくなってくるので削除するには
docker rm nginx1
で削除できます。nginx1じゃなくて自動で振られているIDでも削除できます。
イメージを削除するときは以下です。
docker rmi nginx
こちらも自動で振られているIDでも削除できます。
まとめ
Dockerはイメージを作成して、コンテナを起動して利用します。
イメージはアプリのインストールメディアみたいなもので、
コンテナが実際に動くアプリにあたります。
Docker Hubにイメージがいっぱいあるので
そこから落としてきて、修正してイメージを作り
コンテナを起動します。
今回は修正はしませんでしたが、今後書いていこうと思います。
作成日:2021-06-05 更新日:2021-06-05