Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyambungkan Pangkalan Data MySQL Tempatan ke Kontena Docker Tanpa Menukar Konfigurasi Kontena?
Apabila mengalihkan aplikasi kepada pengeluaran menggunakan persediaan Dockerized, mungkin terdapat keinginan untuk mengelakkan penggunaan berasaskan kontena pangkalan data. Artikel ini meneroka cara menyambungkan pangkalan data MySQL yang dihoskan secara tempatan kepada aplikasi yang dijalankan dalam bekas Docker, tanpa mengubah suai konfigurasi pangkalan data kontena.
Docker-compose yang disediakan Fail .yml termasuk perkhidmatan bernama "app-db" yang memulakan pangkalan data MySQL dalam bekas. Untuk menyambungkan aplikasi kepada pangkalan data MySQL luaran sebaliknya:
<code class="yaml">version: '3' services: web-app: build: context: . dockerfile: web-app/Dockerfile ports: - 8080:8080 environment: - MYSQL_HOST=host.docker.internal - MYSQL_PORT=3306 - MYSQL_USER=username - MYSQL_PASSWORD=password - MYSQL_DATABASE=database_name</code>
Untuk sistem Linux, bekas Docker diasingkan daripada konfigurasi rangkaian hos . Untuk membenarkan aplikasi web menyelesaikan alamat host.docker.internal, bekas mesti dimulakan dengan parameter "--add-host host.docker.internal:host-gateway":
<code class="sh">docker run --add-host host.docker.internal:host-gateway ...</code>
Ini parameter memastikan bahawa bekas boleh menyelesaikan hos.docker.internal kepada alamat IP hos.
Dengan konfigurasi docker-compose.yml dan bekas yang diubah suai, aplikasi web seharusnya dapat menyambung ke pangkalan data MySQL yang dihoskan secara tempatan seperti yang dinyatakan dalam pembolehubah persekitaran.
Atas ialah kandungan terperinci Bagaimana untuk Menyambungkan Pangkalan Data MySQL Tempatan ke Kontena Docker Tanpa Menukar Konfigurasi Kontena?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!