Home New Help Edit

Dockerメモ

Suns & Moon Laboratory


イメージ、コンテナ、docker compose


イメージ 設計図
コンテナ 実際の実行環境

docker-composeした場合、ネットワークは同一のものとなる。
複数のcompooseは、別ネットワークになる
複数のコンテナ起動は、同一ネットワーク(docker0)になる

ホストとのUDP通信

Node-REDで、ホストと通信する
ホストはWindowsで、DelphiのIndyを使ってUDP通信を書いた。

docker-compose.yml
# # docker compose up -d # version: '3.7' services: node-red: image: nodered/node-red:latest environment: - TZ=Asia/Tokyo ports: - 1880:1880 - 3455:34555/udp - 34556:34556/udp volumes: - node-red-data:/data volumes: node-red-data:

ホスト⇒コンテナ localhost:34556
コンテナ⇒ホスト 192.168.1.xxx:34555 ★ホストのIPアドレスにしないと通信できない

portsにudpつけないと通信できない?
デフォルトがTCPになってる
[コンテナーのネットワーク>[https://matsuand.github.io/docs.docker.jp.onthefly/config/containers/container-networking/]]

Docker-docs-ja アプリケーションのコンテナ化

アプリケーションのコンテナ化

Dockerfileを作成
# syntax=docker/dockerfile:1 FROM node:18-alpine WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"] EXPOSE 3000

コンテナイメージを構築
docker build -t getting-started .

アプリコンテナの起動
docker run -dp 127.0.0.1:3000:3000 getting-started

イメージ


イメージ一覧
docker images docker image ls
イメージの削除
docker rmi <the-container-id>
未使用ボリューム削除
docker volume prune -f
未使用ネットワーク削除
docker network prune -f

コンテナ


コンテナ一覧
docker ps
コンテナ停止して削除1
docker stop <the-container-id> docker rm <the-container-id>
コンテナ停止して削除2
docker rm -f <the-container-id>
コンテナのボリューム作成
docker volume create <volume-name>

データ永続化

ボリューム一覧
docker volume ls
ボリュームの詳細
docker volume inspect <volume-name>

プロジェクト単位で停止


停止&削除
docker compose down
停止
docker compose stop
開始
docker compose start
全コンテナの停止
docker stop $(docker ps -aq)

デバッグ


ログ表示
docker logs <the-container-name>
コンテナのコンソール
docker debug <the-container-name>
end.

Home New Help Edit
2025-12-06 20:23:49 32400