Docker on Windows 初心者メモ

技術情報
公開: 2024年10月06日

概要

.NET Core アプリを Docker 上で動かすためのメモ書き。
Windows での開発でも基本的に WSL を使用する前提となるので、ベースとなる OS は Linux と考えてよい(と思う)

最低限必要なもの

  • Docker Desktop
  • WSL2

基本的なコマンド

参考: チュートリアル: .NET アプリのコンテナー化

  • docker build イメージを作成
C:\var\docker-working\App>docker build -t counter-image -f Dockerfile .
[+] Building 25.7s (14/14) FINISHED                                                                docker:desktop-linux
 => [internal] load build definition from Dockerfile          
・・・
 => => naming to docker.io/library/counter-image:latest                                                            0.0s
 => => unpacking to docker.io/library/counter-image:latest                                                         0.0s
  • docker images イメージの一覧を表示
C:\var\docker-working\App>docker images
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
counter-image   latest    4630041d1bae   24 seconds ago   321MB

  • docker create --name コンテナ名 イメージ名 イメージを元にコンテナを作成する

  • docker ps -a 全てのコンテナ一覧を表示

C:\var\docker-working\App>docker ps -a
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS    PORTS     NAMES
7254e02349b6   counter-image   "dotnet DotNet.Docke…"   10 seconds ago   Created             core-counter
  • docker start コンテナ名 コンテナの実行
C:\var\docker-working\App>docker start core-counter
core-counter
  • docker ps 実行中のコンテナ一覧を表示
C:\var\docker-working\App>docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS     NAMES
7254e02349b6   counter-image   "dotnet DotNet.Docke…"   57 seconds ago   Up 10 seconds             core-counter
  • docker attach コンテナ名 コンテナに接続
C:\var\docker-working\App>docker attach --sig-proxy=false core-counter
Counter: 12
  • docker stop コンテナ名 コンテナを停止
C:\var\docker-working\App>docker stop core-counter
core-counter

C:\var\docker-working\App>docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  • docker rm コンテナ名 コンテナを削除
C:\var\docker-working\App>docker rm core-counter
core-counter

C:\var\docker-working\App>docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  • docker run イメージ名 イメージからコンテナを作成して実行する --rm 実行終了時にコンテナを削除 コンテナ名は自動で生成される
C:\var\docker-working\App>docker run -it --rm counter-image
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
  • docker rmi イメージ名:latest イメージを削除する
C:\var\docker-working\App>docker rmi counter-image:latest
Untagged: counter-image:latest
Deleted: sha256:4630041d1bae6d768af5389bc10494e8720651c4a75ac02ea4459cc8bca7d67c

C:\var\docker-working\App>docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

参考

.NET および Docker の概要
Azure App Service を使ってコンテナー化された Web アプリをデプロイして実行する