0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker学習記録-01

0
Last updated at Posted at 2025-11-04

Dockerのツボトコツがゼッタイにわかる本の学習記録です

608497.jpg

1.環境構築(Chap1、Chap2相当)
Windows11のPC上にDockerDesktopをインストールして利用。インストールすると自動的にWSL2の更新などもやってくれるので全てお任せ。PowerShellを起動するとバージョンアップするように促されるので指示に従い、このあたりから最新版をインストールする。DockerHubも利用したい場合はDockerアカウントもあわせて作成しておく。
以上で利用する準備はOKです

2.Dockerはじめの一歩
Dockerにはチュートリアルとチュートリアル用のDockerfileが用意されている。PowerShell7(以下PS)で以下のコマンドを実行する

docker run --name tutorial01 -d -p 80:80 docker/getting-started

スクリーンショット 2025-11-04 135126.png
起動したらブラウザで http://localhost と入力すると以下のようなチュートリアル画面が表示される。
スクリーンショット.png

2-1 ポート番号を変更する
いったんtutorial01コンテナを停止しポート番号を8080に変更して起動する

docker stop tutorial01
docker run --name tutorial01 -d -p 8080:80 docker/getting-started

すると以下のようなエラーが表示されて起動しない

docker: Error response from daemon: Conflict. The container name "/tutorial01" is already in use by container "hogehoge・・・・・・".
You have to remove (or rename) that container to be able to reuse that name.

一度削除(rm)してから再度起動する必要があるようだ

docker rm tutorial01
docker run --name tutorial01 -d -p 8080:80 docker/getting-started

こんどは http://localhost:8080 でチュートリアルサイトを開くことができた。

2-2 起動状態を確認する
docker ps コマンドを使用すると起動しているコンテナの状態を確認することができる。docker ps -a のようにすると停止しているコンテナなども確認することができる
(ホストのポート8080がリモートの80にマッピングされていることなどが分かる)
スクリーンショット 2025-11-04 141054.png
停止状態の確認
スクリーンショット 2025-11-04 141244.png

不要になったtutrial01(コンテナIDを指定しても良い)は削除しておく

docker rm tutrial01

docker image ls コマンドを使うと存在するイメージを表示することができる。TAGはイメージのバージョンを表し、最新版はlatestというタグがついている。

2-3 Docker Hubで確認する
DockerDesktopを開き、DockerHubのアイコンをクリックすると検索画面が出るので、getting-startedのような名前で検索する
スクリーンショット 2025-11-04 141906.png
クジラマークの公式イメージを開くと、以下のような説明が表示される
スクリーンショット 2025-11-04 142115.png

2-4 せっかくなので他のイメージも試してみる
例えばapacheで検索して以下のような公式イメージを表示する

スクリーンショット 2025-11-04 143217.png
今回はDockerfieを使わずにコマンドで起動させたいのでWithout a Dockerfileを参考にする。

起動コマンド1
docker run -dit --name my-apache01 -p 8080:80 httpd:2.4

しばらく待つと起動するので、 http://localhost:8080 で動作確認する
※ブラウザのキャッシュで上手くいかないときは http://localhost:8080/index.html

コンテナの停止と削除
docker stop my-apache01
docker rm my-apache01

3.複数コンテナの起動
以下のように記述すると複数のコンテナを起動することが出来る(8081と8082でアクセス)

起動コマンド2
docker run -dit --name web01 -p 8081:80 httpd:2.4
docker run -dit --name web02 -p 8082:80 httpd:2.4

コンテナの中に入るには docker execコマンドを使用する

コンテナ内に入る(bash)
 docker exec -it web01 /bin/bash

以下のコマンドを打って内容が変わるか確認する(http://localhost:8081)

ls
cd htdocs
echo '<html><body><h1>It works!(Web01)</h1></body></html>' > index.html
exit

不要になったコンテナは削除しておく

docker stop web01
docker stop web02
docker rm web01
docker rm web02

以下のようにまとめて書くこともできる

docker stop web01 web02
docker rm web01 web02

■補足:Windowsのカレントフォルダをマウントしたいとき
以下のように${PWD}を使う

powershell
docker run -dit --name web01 -v ${PWD}:/usr/local/apache2/htdocs  -p 8081:80 httpd:2.4
Linux
docker run -dit --name web01 -v "$PWD"::/usr/local/apache2/htdocs  -p 8081:80 httpd:2.4

次の記事はこちら

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?