Переход веб-разработки от MAMP к Docker
Я новичок в Docker, и мне трудно применять свою основную технологию к моей нынешней веб-разработке. Используя MAMP, вам просто нужно загрузить приложение, поместить ваши PHP / HTML файлы на / htdocs, запустить серверы, а затем перейти к http://localhost:8888/ чтобы увидеть ваш webapp. Теперь, используя docker, мне интересно, как я могу сделать то же самое. То, что я сделал до сих пор, - это вытащить изображения http, php и mysql из Docker Hub.
- как я могу связать эти три картинки вместе заставить их работать? Или как запустить их одновременно?
- где я должен поместить /htdocs или как я могу получить к нему доступ?
- у MAMP есть phpMyAdmin для доступа к базе данных, у Docker есть что-то вроде этого?
Я работаю над Mac OS X Yosemite (10.10.1) с boot2docker v1.4.1 и VirtualBox 4.3.20.
2 ответов
- Как я могу связать эти три картинки вместе, чтобы заставить их работать? Или как запустить их одновременно?
использовать fig определить и связать контейнеры.
- где я должен поместить /htdocs или как я могу получить к нему доступ?
это зависит исключительно от конфигурации контейнера. Вы можете попробовать PHP с Apache от DockerHub. См. документы для объяснение, куда поместить ваши файлы.
- У MAMP есть phpMyAdmin для доступа к базе данных, у Docker есть что-то вроде этого?
конечно, контейнер Docker;)поиск DockerHub
теперь вы можете использовать docker-compose
и Докер-сочинять.YML-файл для выполнения того же, что и рис.
найти контейнеры для каждой службы и связать их вместе не самая простая вещь. Файл docker-compose из влажный проект github (вставлено ниже для потомков) является хорошим началом для того, как получить службы apache, php и mysql, работающие с .
proxy:
image: jwilder/nginx-proxy
ports: ['80:80']
volumes: ['/var/run/docker.sock:/tmp/docker.sock:ro']
environment: [DEFAULT_HOST=damp.dev]
database:
image: 'mysql:5.7'
ports: ['3306:3306']
environment: [MYSQL_ROOT_PASSWORD=password]
phpmyadmin:
image: corbinu/docker-phpmyadmin
links: ['database:mysql']
environment: [MYSQL_USERNAME=root, MYSQL_ROOT_PASSWORD=password, VIRTUAL_HOST=phpmyadmin.damp.dev]
damp:
image: httpd
volumes: ['~/damp/damp:/usr/local/apache2/htdocs']
environment: [VIRTUAL_HOST=damp.dev]
после этого _и поставить запись damp.dev 127.0.0.1
у ваших хозяев файл, все, что вы монтируете в ~ / damp / damp (за секунду до последней строки), будет помещено в htdocs контейнера docker и подано на damp.dev/[что угодно].
damp-это только первый пример, который я нашел, ковыряясь в том, как реплицировать MAMP с docker. Самое главное отметить, что вы можете использовать docker-compose
вместо fig
. Compose основан непосредственно на кодовой базе Fig и обратно совместим с приложениями Fig.