$ docker run -d --name web1 nginx$ docker exec -it web1 bash
| 観点 | 名前付きボリューム | バインドマウント |
|---|---|---|
| データの実体 | Docker管理の領域 | ホストのディレクトリ |
| 主な用途 | DBデータの保存 | コード編集しながら開発 |
| -v の左側 | 名前(db-data) | パス(./src) |
$ docker run -d -v db-data:/var/lib/postgresql postgres:18-v db-data:/var/lib/postgresql名前付きボリューム db-data をコンテナ内パスに割り当てdb-data/ も . も含まない名前は名前付きボリュームとして自動作成される$ docker run -d --name pg1 \-e POSTGRES_PASSWORD=secret \-v db-data:/var/lib/postgresql postgres:18$ docker volume ls$ docker rm -f pg1
$ docker run -d -p 8080:80 \-v ./myapp:/usr/share/nginx/html nginx
-v ./myapp:/usr/share/nginx/htmlホスト側ディレクトリをコンテナ内パスに割り当て./myappドットスラッシュやスラッシュを含むパスの形で指定するとバインドマウントになる$ mkdir myapp$ echo "<h1>Hello from host</h1>" > myapp/index.html$ docker run -d --name web3 \-p 8080:80 \-v ./myapp:/usr/share/nginx/html nginx
http://localhost:8080 → echo "<h1>Updated</h1>" > myapp/index.html で書き換え → 再読み込み$ docker network create mynet$ docker run -d --name srv1 --network mynet alpine sleep 3600
docker network create mynetユーザー定義ネットワーク mynet を作成--network mynetコンテナをこのネットワークに参加させる$ docker network create mynet$ docker run -d --name srv1 --network mynet alpine sleep 3600$ docker run -d --name srv2 --network mynet alpine sleep 3600$ docker exec -it srv1 sh
コンテナ内で ping -c 3 srv2 → exitコンテナ名による接続と localhost の指す範囲