Starten Sie eine separate Rails-App mit Docker-Compose. Hier werden nur die Einstellungen in Docker-Compose geschrieben.
Ich möchte eine API-Kommunikation zwischen Rails-Apps durchführen, die lokal mit verschiedenen Docker-Kompositionen gestartet wurden. Beispielsweise möchte ich die Rails App2-API des Bilddiagramms von Rails App1 aus aufrufen
Ich lasse es, damit Sie über die Schlüsselwörter zu diesem Memo gelangen können.
Errno::ECONNREFUSED: Connection refused - connect(2)
--docker network create --driver bridge common_link
--docker network ls
(bestätige das erstellte Netzwerk)
docker-compose.yml
services:
.
.
networks:
common_link:
external: true
services:
rails_app1:
networks:
- common_link
db1:
networks:
- common_link
services:
db2:
ports:
- "127.0.0.1:3307:3307"
services:
rails_app2:
environment:
DATABASE_URL: mysql2://root:root@mysql:3307
[client]
port=3307
[mysqld]
port=3307
--Starten Sie sowohl Docker-Compose1 als auch Docker-Compose2
--docker network inspect common_link
(Bestätigung, dass insgesamt 4 Container, Rails App1, DB1, Rails App2, DB2, zum selben Netzwerk gehören)
z.B. "Behälter"
ping 172.19.0.5
# Wenn die im obigen temporären Image bestätigte IP (172.19.0.5) auf rails_app2 gesetzt istcurl 172.19.0.5
Bitte lassen Sie mich wissen, wenn es andere gute Einstellungen gibt.
https://qiita.com/reneice/items/20e981062b093264cd0a