ローカルデータベースで動作するようにDockerコンテナーをセットアップしようとしています。
画像はこれです https://hub.docker.com/r/tuxgasy/dolibarr/ であり、mariadb
コンテナも作成して、それにリンクすることをお勧めします。
ディストリビューションのメインリポジトリからインストールされた、メインシステムに既にあるmariadb
データベースを代わりに使用するようにDolibarrコンテナーを構成したいと思います。
動作しているDockerアプリケーションをセットアップしようとしたのはこれが初めてであり、私はデータベースの保守の専門家ではないため、少し迷っています。
これどうやってするの?説明の広告はできるだけ明確かつ詳細にしてください。
私のシステムは完全に更新されたopenSUSE Tumbleweedです
3つの方法があります。
--net = Hostオプションを使用します。このネットワークモードは基本的に、コンテナーがlocalhostに直接アクセスでき、localhost:3306にアクセスできることを意味します。ここにコマンドがあります
docker run --net=Host ... tuxgasy/dolibarr
次に、localhost:3306
を使用してmariadbに接続します
Mariadbソケットをdockerコンテナーにマウントし、ソケットを介してmariadbに接続します。たとえば、ソケットの場所を/var/run/mysqld/mysqld.sockに構成すると、マウントして接続ポイントとして使用できます。
docker run -v /var/run/mysqld:/mariadb_socket ... tuxgasy/dolibarr
次に、アプリからソケット/mariadb_socket/mysqld.sock
を介してmariadbに接続します
DockerホストのIPを使用します。まず、DockerネットワークのホストIPアドレスを取得します(Linuxではip addr show
と入力して、docker0 ipを探します)。これは通常172.17.0.1のようなものです(マイレージは異なる場合があります)。次に、そのIPアドレスを使用して、たとえば172.17.0.1:3306
などのmariadbに接続できます。
注: ...は、すでに使用している可能性があるその他のオプションを意味します
私はそれを正確に行うためのDockerコンテナを作成しました https://github.com/qoomon/docker-Host
次に、単にコンテナー名dnsを使用して、コンテナー内からホストシステムにアクセスできます。カール http:// dockerhost:92