docker & portainer - コンテナの作成に使用します

docker & portainer - コンテナの作成に使用します

私はまだ、portainer の助けを借りて docker のいくつかのことを理解しようとしていますが、次のチュートリアルが見つかりません:

1 - 永続データ: 永続データベースを使用して Mariadb コンテナを実行したいと思います。そこで、マウントポイントを持つボリューム「db」を追加したいと思います/home/user。残念ながら、マウントポイントは常に/var/lib/docker/volumesetc にあります。どうすればよいでしょうか?

2 - リンク: 永続データベースを使用して MySQL コンテナを実行することに成功したと仮定して、環境変数を使用して nginx コンテナ (永続データを含む) を MySQL コンテナにリンクしたいと思います/home/mountpoint:/data/www(docker compose の例:マスター)。ネットワーク オプションがあることに気付きましたが、役に立つとは思えません... コンテナーをリンクして、より多くの環境変数を含むテンプレートを作成するにはどうすればよいでしょうか?

Docker-compose の方が良い方法でしょうか?

ご協力いただければ幸いです。

JB

答え1

/var/lib/docker/volumesDocker または Portainer 経由でボリュームを作成すると、デフォルトではこのボリュームはホストに保存されます。これがデフォルトの正しい動作です。

Portainer 経由で呼び出されたボリュームをバインドする場合はdb、まずボリュームを作成します。次に、「コンテナー」>「コンテナーの追加」>「ここで名前/イメージを指定」の順に進み、ボリューム タブで、作成したボリュームをコンテナー内のパスにバインドできます。

さて、Ningx とデータベース間のリンクについてですが、ここでは Docker ネットワークの DNS を活用することをお勧めします。

まず、新しいネットワークを作成します (my-appたとえば、 という名前にします)。次に、データベースと Nginx コンテナの両方をこのネットワーク内にデプロイします。Docker DNS は、同じネットワーク内のコンテナに、コンテナ名を使用して通信する機能を自動的に付与します。したがって、データベース コンテナdbと Nginx コンテナに という名前を付けると、からnginxping を実行できるようになります。その逆も同様です。dbnginx

関連情報