Ich habe diese Docker-Datei und es funktioniert wie erwartet. Ich habe PHP-Anwendung, die mit mysql auf localhost verbindet.Verbindung zum mysql-Datenbank von Docker-Container
# cat Dockerfile
FROM tutum/lamp:latest
RUN rm -fr /app
ADD crm_220 /app/
ADD crmbox.sql/
ADD mysql-setup.sh /mysql-setup.sh
EXPOSE 80 3306
CMD ["/run.sh"]
Wenn ich versuchte, die Datenbank als separaten Container auszuführen, zeigt meine php-Anwendung immer noch auf localhost. Wenn ich eine Verbindung zum Container "web" herstelle, kann ich keine Verbindung zum Container "mysql1" herstellen.
# cat docker-compose.yml
web:
build: .
restart: always
volumes:
- .:/app/
ports:
- "8000:8000"
- "80:80"
links:
- mysql1:mysql
mysql1:
image: mysql:latest
volumes:
- "/var/lib/mysql:/var/lib/mysql"
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: secretpass
Wie verbindet sich meine PHP-Anwendung mit mysql aus einem anderen Container?
Dies ist ähnlich wie die Frage hier gefragt ...
Connect to mysql in a docker container from the host
Ich will nicht zu MySQL von Host-Rechner verbinden, muß ich von einem anderen Behälter verbinden.
Wie sieht Ihre mysql-Verbindungskonfiguration aus? Wenn der Host auf "localhost" zeigt, ist das falsch, es sollte "mysql" sein. –