{"id":13206,"date":"2022-02-23T15:18:18","date_gmt":"2022-02-23T09:18:18","guid":{"rendered":"https:\/\/shra.ru\/?p=13206"},"modified":"2022-02-23T15:18:51","modified_gmt":"2022-02-23T09:18:51","slug":"nastrojjka-podklyucheniya-k-mysql-vnutri-docker-kontejjnera","status":"publish","type":"post","link":"https:\/\/shra.ru\/2022\/02\/nastrojjka-podklyucheniya-k-mysql-vnutri-docker-kontejjnera\/","title":{"rendered":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a mysql \u0432\u043d\u0443\u0442\u0440\u0438 Docker \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430"},"content":{"rendered":"\n
\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u0441\u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u044d\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 php, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 — \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 mySQL. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0431\u0430\u0437\u0435 \u0434\u043b\u044f \u043a\u043e\u0434\u0430 \u0432 php?<\/p>\n\n\n\n\n\n\n\n
\u042f\u0441\u043d\u043e, \u0447\u0442\u043e \u0438\u043c\u044f \u0445\u043e\u0441\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0437\u0430\u0434\u0430\u043b\u0438 \u0432 docker-compose.yml<\/em>. \u041f\u043e\u0442\u043e\u043c\u0443, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0442\u043e \u0443 \u043d\u0430\u043c \u0442\u0430\u043c.<\/p>\n\n\n\n \u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0432\u0430\u0448\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Nginx-PHP-mySQL \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n\n\n\n \u0421\u0435\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 mySQL \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 «internal». \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435, docker \u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u043f\u0441\u0435\u0432\u0434\u043e\u043d\u0438\u043c\u044b \u0441\u0435\u0442\u0435\u0439 \u0432 \u0444\u0430\u0439\u043b hosts<\/strong>.<\/p>\n\n\n\n \u0422\u0430\u043c \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0438\u0434\u0430:<\/p>\n\n\n\n \u041e\u0442\u0441\u044e\u0434\u0430 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u0437\u044f\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u043d\u0430\u043c \u0438\u043c\u044f host.docker.internal<\/strong>. \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0438\u043c\u044f \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443 host.docker.{NETWORK_NAME}. <\/p>\n\n\n\n \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u0441\u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445 \u044d\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 php, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 — \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 mySQL. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0431\u0430\u0437\u0435 \u0434\u043b\u044f \u043a\u043e\u0434\u0430 \u0432 php?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[145],"class_list":["post-13206","post","type-post","status-publish","format-standard","hentry","category-onfront","tag-docker"],"acf":[],"yoast_head":"\nversion: '3.0'\n\nservices:\n\n nginx:\n image: nginx\n container_name: nginx\n ports:\n - \"80:80\"\n environment:\n - VIRTUAL_HOST=site.local\n depends_on:\n - php\n - mysql\n volumes:\n - ${CONTAINERS}\/nginx\/conf\/:\/etc\/nginx\/conf\/\n - ${MOUNT_ROOT}\/nginx-conf\/:\/etc\/nginx\/conf.d\/\n - ${MOUNT_ROOT}\/web\/:\/var\/www\/\n - ${MOUNT_ROOT}\/logs\/nginx\/:\/var\/log\/nginx\/\n networks:\n - internal\n\n php:\n build:\n context: ${CONTAINERS}\/php\/\n container_name: php\n volumes:\n - ${CONTAINERS}\/php\/php.ini:\/usr\/local\/etc\/php\/php.ini\n - ${MOUNT_ROOT}\/web\/:\/var\/www\/\n ports: \n - \"9000:9000\"\n networks:\n - internal\n\n mysql:\n image: mysql:5.7\n container_name: mysql\n restart: unless-stopped\n command: --default-authentication-plugin=mysql_native_password\n command: --innodb_use_native_aio=0 \n volumes:\n - ${MOUNT_ROOT}\/mysql\/:\/var\/lib\/mysql\/\n ports: \n - \"3306:3306\"\n environment:\n MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD}\n networks:\n - internal\n\nnetworks:\n internal:<\/code><\/pre>\n\n\n\n
# Added by Docker Desktop\n192.168.1.9 host.docker.internal\n192.168.1.9 gateway.docker.internal\n# To allow the same kube context to work on the host and the container:\n127.0.0.1 kubernetes.docker.internal\n# End of section<\/code><\/pre>\n\n\n\n
<?php\n\n$SQL = new mysqli('host.docker.internal', ...);<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"