Для загрузки docker compose на hub.docker.com, вы должны выполнить следующие шаги: 1. Создайте учетную запись на hub.docker.com, если у вас ее еще нет. 2. Создайте репозиторий на hub.docker.com, в который вы будете загружать свой docker compose. 3. Загрузите свой docker compose файл (docker-compose.yml) в репозиторий, после чего он будет доступен для использования и скачивания. 4. Чтобы загрузить docker compose файл, вы можете использовать команду docker-compose push или docker push <имя репозитория>/<имя образа>. После этого ваш docker compose файл будет доступен для загрузки и использования другими пользователями. Относительно вашего вопроса о том, что curl localhost не отображает php-страницу, важно убедиться, что ваш контейнер с php-сервером (app) работает правильно и прослушивает порт 80. Вы можете выполнить команду docker ps, чтобы увидеть список всех запущенных контейнеров и проверить, что контейнер app работает и что порт 80 проброшен правильно. Если контейнер app запущен и порт 80 прослушивается, проверьте, что ваше приложение находится в правильном каталоге на хосте, и что этот каталог примонтирован в контейнер app. Также убедитесь, что ваше приложение правильно настроено для работы с nginx или любым другим веб-сервером, и что у вас есть правильная конфигурация nginx в вашем контейнере webserver. Если проблема не исчезает, попробуйте перезапустить контейнеры с помощью команды docker-compose up -d, чтобы убедиться, что все правильно запускается. Надеюсь, эти советы помогут вам решить проблему с отображением php-страницы.
1. Каждый из трех сервисов (app, webserver и db) должен использовать свой собственный образ в файле docker-compose.yml. Вместо этого они используют один и тот же образ cubinez85/docker_compose/web:latest. 2. Убедитесь, что ваша конфигурация NGINX правильно перенаправляет запросы на PHP контейнер. Проверьте настройки для fastcgi_pass и убедитесь, что они указывают на адрес вашего PHP контейнера. 3. Проверьте настройки PHP-FPM в вашем контейнере app. Убедитесь, что PHP-FPM настроен для прослушивания соединений и указан порт 9000 в файле www.conf. Обновленный список советов: - Каждый сервис должен использовать свой собственный образ в файле docker-compose.yml. - Проверьте настройки NGINX для перенаправления запросов на PHP контейнер. - Убедитесь, что PHP-FPM в контейнере app настроен для прослушивания соединений на порту 9000.
Создай свой аккаунт на Docker Hub и репозиторий с названием "my_docker_images". Затем открой терминал и выполните следующие команды: 1. docker tag/my_docker_images:latest 2. docker login 3. docker push /my_docker_images:latest Вместо "latest" можно использовать другой тег, например "master-1". Чтобы узнать идентификатор Docker образа, используйте команду "docker images". Если мой ответ был полезен, можно пожертвовать детям через ресурс https://rusfond.ru/.
Использование одного образа для разных сервисов: В файле docker-compose.yml все три сервиса (app, webserver и db) используют один и тот же образ cubinez85/docker_compose/web:latest. Это не соответствует лучшей практике, так как каждый из этих сервисов должен иметь свой собственный образ, настроенный для своей конкретной задачи.
Конфигурация NGINX: Для правильной работы перенаправления запросов на PHP контейнер, убедитесь, что ваша конфигурация NGINX корректно указывает адрес вашего PHP контейнера в параметре fastcgi_pass.
Настройка PHP-FPM: В вашем контейнере app убедитесь, что PHP-FPM настроен для прослушивания соединений на порту 9000, обычно это делается с помощью параметра listen = 9000 в файле www.conf.
Измените файл docker-compose.yml следующим образом:
version: '3.7'
services:
app:
build: ${PWD}/fpm/
image: cubinez85/docker_compose/app:latest
container_name: app
volumes:
- ${PWD}/code:/data
networks:
- app-network
webserver:
build: ${PWD}/nginx/
image: cubinez85/docker_compose/nginx:latest
container_name: webserver
volumes:
- ${PWD}/code:/data
ports:
- "80:80"
- "443:443"
networks:
- app-network
db:
image: mysql:latest
container_name: db
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
volumes:
- ${PWD}/dbdata:/var/lib/mysql
networks:
- app-network
networks:
app-network:
driver: bridge
Убедитесь, что в файле nginx.conf присутствует следующая конфигурация:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app:9000;
...
}
Здесь app:9000 указывает на ваш PHP контейнер и порт 9000, который слушает PHP-FPM.
Создайте аккаунт на Docker Hub и настройте репозиторий с названием "my_docker_images". Затем, используя терминал, выполните следующие команды: 1. Чтобы пометить ваш образ Docker с идентификатором "" и загрузить его в ваш Docker Hub репозиторий с именем " /my_docker_images:latest", выполните команду: docker tag /my_docker_images:latest 2. Войдите в свою учетную запись Docker Hub с помощью команды: docker login 3. Чтобы загрузить ваш помеченный образ на Docker Hub, выполните команду: docker push /my_docker_images:latest Вы можете использовать любой другой тег вместо "latest", например, "master-1". Чтобы найти идентификатор образа Docker, используйте команду "docker images". Пожалуйста, помогите детям и сделайте пожертвование на сайте Фонда Русское Детство: https://rusfond.ru/