はじめに
WindowsにDocker Desktopのインストールができたら、次は実際にDockerを使用して、コンテナの作成、操作を行っていきます。ここではDockerを起動し、DockerHubよりイメージを取得してコンテナを起動していきましょう。
ちなみにここではWindowsでのDockerということでDocker Desktopを使用する手順的なところに重点を置いて説明をしていきますが、Dockerは基本的に全てコマンドで操作実行可能ですのでそちらもDockerになれたら学んでいくと良いかと思います。
・DockerIDを取得
・ApacheのDockerイメージを取得
・Apacheのコンテナを起動
前提条件
WindowsでDocker環境を構築しよう。その① ~インストール編が完了していることを前提条件として話を進めていきます。
環境
OS:Windows10 Pro 64bit(BootCamp環境)
Docker:20.10.2
docker-compose:1.27.4(Dockerのインストールで一緒に入ります。)
DockerIDを取得する
それではまず最初にDockerを起動します。
初回起動時は左のような画面となるため、今回は[Start]ボタンの下にある、Skip tutorialをクリックしていきます。
コンテナがないとこのような画面になるので、画面右上の[Sign in]を押下してDocker IDを取得し、DockerHubからイメージを取得していきましょう。
左のようなログインダイアログ画面がでてくるのですが、まだDocker IDを取得していないので、ダイアログ下部の hub.docker.comをクリックしてサイトを表示します。
DockerID、Email、Passwordを入力してDockerIDを取得します。
ここも一旦FreeでOKです。Planによっていろいろメリットはありますがここでは割愛します。
Freeを選ぶと入力したメールアドレスにメールが届くのでメールの中の「Verify email Address」を押下してDocker IDの取得完了です。
Dockerコンテナを取得する
Docker IDの取得ができたら https://hub.docker.com にアクセスしてコンテナをダウンロードします。
今回はApacheのコンテナを使用していきますので左の画像の赤枠で囲われた「httpd」をクリックします。
httpdのコンテナを取得するためのdockerコマンドが赤枠内に記載されているので、コピーしコマンドプロンプトに張り付けて実行します。
コマンドプロンプトに「docker pull httpd」コマンドを張り付けて実行すると左のようにhttpdのイメージを取得します。
イメージの取得が終わったらDockerデスクトップに戻ってみましょう
Dockerコンテナを起動する
左側の赤枠の[Image]をクリックすると現在存在しているDockerイメージを確認することができます。先ほど取得したhttpdのイメージが存在しているので、[RUN]をクリックしてイメージからコンテナを作成しましょう。
コンテナを作成する際のパラメータを設定します。未入力でもコンテナは作成されますが、ここでは最低限のものを入力しておきます。
Container Name コンテナ名
Ports-Local Host
自端末のブラウザからコンテナにアクセスする際のポート
Ports-Container Port
Local Hostで設定したポートと紐づけるコンテナ側のポート
※今回の場合、localhost:8080でのアクセスでコンテナのApacheの80ポートにアクセスします。
Volumes-Host Path/Container Path
ContainerPathで指定したディレクトリがコンテナ外のホストOSのHost Pathを参照するように設定できます。ここでは簡単にしか触れませんが、コンテナで構築された環境を開発に使用したい場合、プログラムソースはコンテナ外のホストOS側に置かなければ、開発環境としてコンテナを使用したい場合のメリットがなくなってしまいます。ほかにもDockerでのデータ永続化は重要なポイントとなってきますのでどこかで触れらればまたその時に解説します。
左のような画面となったらコンテナ起動中です。http:localhost:8080にアクセスしてみましょう。ブラウザに「It works!」と表示されたらコンテナ内のApacheにアクセス成功です。
今回はDockerHubからイメージを取得して、コンテナを起動するところまでの手順を解説しました。
httpd以外にもイメージを取得してコンテナを起動してみたりしてみてください。コンテナの作成、破棄の簡単さにびっくりかと思います。これだけ簡単に環境の準備、作成ができることがわかるとDockerを使用することのメリットがだんだんわかってくるのではないかと思います。
またDockerを使用するホストOS側にいろいろなものをプロジェクトや案件が変わるたびにインストールしたりしなくて済むため、
DockerHubにはhttp、PHPなど他にも数多くのDockerイメージが準備されており、各コンテナの旧バージョンについてもTagのところから検索することも可能ですので、一度お時間あるときにDockerHubは一通り英語ばかりではあれど目を通してみることをお勧めします。
次回はより実用的なDockerの使用方法について説明していければと思います。