I am starting with docker and have some problems to make the right config. The Framework need a script to make the backend working. This needs a sql connection. I found a way to make phpmyadmin working, but the script can’t connect the mysql database. If someone with more Docker comprehension can give me a tip if something is wrong. ![]() By default, postgresql is listening on port 5432. I don't see where you changed that default port in your Dockerfile (maybe it's in your file). By specifying Expose 5434 in your Dockerfile won't change de default port on which postgresql is listening. For example, if I create a new Dockerfile for let's say a webserver that is listening on port 80, even if I specify EXPOSE 8080, it won't change the port on which my webserver is actually listening. So there is a difference between the EXPOSE command, and the actual port on which a service inside the container is listening. • • • • • • •. I have a docker mysql image running, following is what the docker-compose.yml file looks like: db: image: mysql environment: MYSQL_ROOT_PASSWORD: ' MYSQL_ALLOW_EMPTY_PASSWORD: yes ports: - '3306:3306' This works fine. My question is: How can I connect to the MySQL instance running on that container from the command line mysql client on my the host (my macbook)? ![]() To clarify: • I have a macbook with Docker installed • I have a docker container with mysql • I want to connect to the mysql instance running on the aforementioned container from the Terminal on my macbook • I do NOT want to user a docker command to make this possible. Rather, I want to use the mysql client directly from the Terminal (without tunneling in through a docker container). I don't have MySQL running locally, so port 3306 should be open and ready to use. The command I am using to start the container is: docker-compose run. Using docker-compose up Since you published port 3306 on your docker host, from that host itself you would connect to 127.0.0.1:3306. Using docker-compose run In that case the port mapping section of the docker-compose.yml file is ignored. To have the port mapping section considered, you have to add the option: docker-compose run --service-ports db Additional note Beware that by default, the mysql client tries to connect using a unix socket when you tell it to connect to localhost. How to make a recovery usb for a mac. So do use 127.0.0.1 and not localhost: $ mysql -h 127.0.0.1 -P 3306 -u root Welcome to the MySQL monitor. Commands end with; or g. Your MySQL connection id is 1 Server version: 5.6.26 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or ' h' for help. Type ' c' to clear the current input statement. Mysql> $ mysql -h localhost -P 3306 -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2).
0 Comments
Leave a Reply. |