Docker

永続ボリュームについて

dockerで永続ボリューム関連の記事

Dockerのデータを開示!Data Volume(データボリューム)の理解から始める環境構築入門 

Docker ボリュームの削除 

Docker、ボリューム(Volume)について真面目に調べた 

Docker で MySQL の起動時にデータの初期化を行う 

Dockerコンテナ内部からホストのSMTPを利用する

Docker のホストには Postfix が設置してある。
Dockerコンテナの内部アプリからメール送信をする際に、このホスト側の Postfix を利用したい。

Docker は標準状態では仮想ネットワークポートを利用したブリッジ接続を行います。
そのため Docker コンテナはホストから見て他のマシンに見えています。

Dockerのブリッジネットワークを確認して、そのアドレスを postfix の mynetworks に入れることで対応する。

以下のコマンドで Docker のネットワークを確認

# docker network ls
NETWORK ID NAME DRIVER SCOPE 6182324b17a2 bridge bridge local bd028a15224e growi_default bridge local 81c733367832 host host local ebbacdbf3db8 none null local

その中でコンテナのブリッジとなっているネットワークを確認する

# docker network inspect growi_default

一部抜粋

"IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1" } ] },

postfix の 設定変更
mynetwotks に 上記の Subnet を追加
inet_interfaces に 上記の Gateway を追加(設定による)

main.cf

mynetworks = 127.0.0.1/8 172.18.0.0/16 inet_interfaces = 127.0.0.1 172.18.0.1

環境によっては ufw の設定を追加する

# ufw allow 1from 72.18.0.0/16 to any port 25 proto tcp

参考

Docker Docs
https://docs.docker.jp/engine/userguide/networking/dockernetworks.html 

docker-compose

docker compose のインストール

ubuntu 22.04 でインストールする記事

Ubuntu22.04へDockerとDocker Compose v2 をインストール 

docker compose でのコンテナなどのリセット

GROWI を完全に初期化してやり直したいと思っていたときに調べた記事

docker-compose up がうまく起動しないときに、containerやimageなどをリセットする方法 

覚書

業務でDocker Composeを使うことになった人のためのマニュアル 

【Docker Compose】今更聞けない、docker-compose.ymlの書き方や仕組み