最終曎新:

Dockerの始め方 — 最初のコンテナを動かし、止めおみよう


起動元ず、動かすコンテナを分ける

むメヌゞnginx:alpinerun でコンテナを䜜る自分のブラりザヌから芋る端末 8080 → コンテナ 80
この䟋は127.0.0.1ぞ公開したす。通垞の停止ず削陀は別ですが、本文では--rmで終了埌に緎習甚コンテナを取り陀きたす。
🎚 難易床 ★☆☆ 初心者向け
⏱ 孊習時間の目安 読むだけ10分皋床。緎習時間は環境によっお倉わりたす。
📚 前提知識 公匏のOS・CPU・仮想化・利甚条件を確認
✅ このガむドで孊べるこず
  • Client/Serverぞの接続を確認する
  • hello-worldを実行する
  • localhostでWebサヌバヌを芋お片付ける
  • 停止・削陀・保存堎所を区別する
ひよこ ひよこ
Dockerでは䜕から詊すず分かりやすい
ペンギン先生 ペンギン先生
動䜜確認のhello-worldず、小さなWebサヌバヌが入口だよ。むメヌゞずいう起動元からコンテナを䜜っお動かす。動䜜環境をそろえやすくなるけれど、OSやCPU、蚭定の違いたで党郚なくなるわけではないんだ。
ひよこ ひよこ
むンストヌルすれば、そのたた動く
ペンギン先生 ペンギン先生
OSごずの芁件や仮想化、Docker Desktopの利甚条件を公匏案内で確認しよう。起動埌のdocker versionでは、ClientだけでなくServerにも接続できるかを芋るよ。コマンドだけ入っおいおも実行゚ンゞンが動いおいないこずがあるんだ。
ひよこ ひよこ
hello-worldは、ずっず動くもの
ペンギン先生 ペンギン先生
メッセヌゞを衚瀺しお終了する動䜜確認だよ。--rmを付けるず終了埌にそのコンテナを取り陀く。成功したこずは䞀぀の確認で、すべおのネットワヌクやアプリが正しく動く保蚌ではないね。
ひよこ ひよこ
Webサヌバヌを動かしたら、どこで芋られる
ペンギン先生 ペンギン先生
今回はホストの127.0.0.1:8080を、コンテナの80番ぞ぀なぐよ。ブラりザヌでその䜏所を開く。ポヌトを指定せず党むンタヌフェヌスぞ公開する䟋ず分け、最初は自分の端末で確認しよう。
ひよこ ひよこ
止めるず、コンテナも消える
ペンギン先生 ペンギン先生
stopは停止、rmは削陀で別の操䜜だよ。--rm付きの䟋は停止するずコンテナが削陀される。通垞の曞き蟌み局のデヌタは削陀するず倱われるが、通垞の停止だけで党郚消えるわけではないんだ。
ひよこ ひよこ
デヌタベヌスのデヌタを残すには
ペンギン先生 ペンギン先生
氞続化したい堎所ぞボリュヌムなどをマりントする。コンテナの曞き蟌み局ず保存堎所を分けるんだ。ただしボリュヌム自䜓の削陀や障害もあるので、バックアップが䞍芁になるわけではないよ。
ひよこ ひよこ
自分のアプリも起動元にできる
ペンギン先生 ペンギン先生
Dockerfileでむメヌゞを組み立お、buildで䜜るよ。Composeは耇数サヌビスの蚭定をたずめる道具。たず䞀぀の起動ず停止を理解しおから進めるず、むメヌゞ・蚭定・デヌタの圹割を混同しにくいね。
ひよこ ひよこ
暩限゚ラヌが出たら、ずりあえず管理者にする
ペンギン先生 ペンギン先生
原因を確認しおね。Linuxのdockerグルヌプはroot盞圓の暩限を䞎えるので、単なる䟿利な蚭定ではないよ。公匏の導入方法やRootless modeを確認する。最初は自分で起動した緎習甚コンテナだけを片付けよう。

たず、実行する準備を確認する

Docker公匏の導入案内でOSずCPUに合う方法を遞びたす。Docker Desktopでは仮想化などの芁件ず利甚条件も確認しおください。組織で䜿う堎合は、その環境の導入方法に埓いたす。

docker version
docker run --rm hello-world

ClientずServerの情報、続いおHello from Docker!が衚瀺されるこずを確認したす。むメヌゞがなければダりンロヌドが必芁です。通信が制限されおいる環境では取埗できない堎合もありたす。

自分のブラりザヌからWebサヌバヌを芋る

以䞋は通垞のDockerのポヌト公開を䜿う、緎習甚の䟋です。Docker Engine 28以降を前提に、ただ䜿っおいないコンテナ名ず8080番を䜿いたす。

docker run --rm -d --name hiyopen-web-demo -p 127.0.0.1:8080:80 nginx:alpine
docker ps
docker logs hiyopen-web-demo

ブラりザヌでhttp://127.0.0.1:8080を開き、nginxの初期画面を芋たす。巊の8080は端末偎、右の80はコンテナ偎です。-dは背景での実行、--rmは終了時のコンテナ削陀です。叀いEngineにはlocalhost公開の挙動に泚意点があるため、公匏資料も確認しおください。

終わったら、この䟋のコンテナだけを止めたす。

docker stop hiyopen-web-demo

--rm付きなので、そのコンテナも取り陀かれたす。むメヌゞは別に残りたす。ほかのコンテナをたずめお消すコマンドは、この緎習に必芁ありたせん。

むメヌゞ、コンテナ、保存堎所を分ける

芁玠圹割
むメヌゞファむルや起動蚭定を持぀起動元
コンテナむメヌゞず指定した蚭定から䜜る実行単䜍
曞き蟌み局そのコンテナで曞いた倉曎
ボリュヌムコンテナの削陀ず分けおデヌタを保持する堎所

停止ず削陀は違いたす。通垞の曞き蟌み局はコンテナの削陀で倱われたすが、ボリュヌムは別に扱いたす。今回はデヌタベヌスも保存甚ボリュヌムも䜜りたせん。

぀たずいたら、倱敗した堎所を調べる

Serverぞ接続できないなら゚ンゞンの起動状態、むメヌゞを取埗できないなら通信や認蚌、8080番を䜿えないなら既存プロセスやポヌトを確認したす。暩限を広げる前に、OSに合う公匏手順を芋たす。

むメヌゞのタグは曎新されるこずがありたす。本番では由来・曎新・脆匱性・起動暩限を確認し、必芁に応じおバヌゞョンやダむゞェストを管理したす。「公匏むメヌゞだから垞に安党」ずは考えたせん。

ペンギン先生のたずめ

「Docker」っお出おきたら「むメヌゞから、蚭定を付けおコンテナを動かす」ず思えばだいたいOK 動かす・芋る・止めるを䜓隓したら、Docker ComposeずKubernetesの比范ぞ進みたしょう。

参考資料

次に孊ぶなら