Docker
永続ボリュームについて
dockerで永続ボリューム関連の記事
Dockerのデータを開示!Data Volume(データボリューム)の理解から始める環境構築入門
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などをリセットする方法