私はまだ、portainer の助けを借りて docker のいくつかのことを理解しようとしていますが、次のチュートリアルが見つかりません:
1 - 永続データ: 永続データベースを使用して Mariadb コンテナを実行したいと思います。そこで、マウントポイントを持つボリューム「db」を追加したいと思います/home/user
。残念ながら、マウントポイントは常に/var/lib/docker/volumes
etc にあります。どうすればよいでしょうか?
2 - リンク: 永続データベースを使用して MySQL コンテナを実行することに成功したと仮定して、環境変数を使用して nginx コンテナ (永続データを含む) を MySQL コンテナにリンクしたいと思います/home/mountpoint:/data/www
(docker compose の例:マスター)。ネットワーク オプションがあることに気付きましたが、役に立つとは思えません... コンテナーをリンクして、より多くの環境変数を含むテンプレートを作成するにはどうすればよいでしょうか?
Docker-compose の方が良い方法でしょうか?
ご協力いただければ幸いです。
JB
答え1
/var/lib/docker/volumes
Docker または Portainer 経由でボリュームを作成すると、デフォルトではこのボリュームはホストに保存されます。これがデフォルトの正しい動作です。
Portainer 経由で呼び出されたボリュームをバインドする場合はdb
、まずボリュームを作成します。次に、「コンテナー」>「コンテナーの追加」>「ここで名前/イメージを指定」の順に進み、ボリューム タブで、作成したボリュームをコンテナー内のパスにバインドできます。
さて、Ningx とデータベース間のリンクについてですが、ここでは Docker ネットワークの DNS を活用することをお勧めします。
まず、新しいネットワークを作成します (my-app
たとえば、 という名前にします)。次に、データベースと Nginx コンテナの両方をこのネットワーク内にデプロイします。Docker DNS は、同じネットワーク内のコンテナに、コンテナ名を使用して通信する機能を自動的に付与します。したがって、データベース コンテナdb
と Nginx コンテナに という名前を付けると、からnginx
ping を実行できるようになります。その逆も同様です。db
nginx