Переход на веб-разработку с MAMP на Docker

Я новичок в Docker, и мне трудно применить его основную технологию в моей нынешней веб-разработке. Используя MAMP, вам просто нужно загрузить приложение, поместить файлы PHP / HTML в / htdocs, запустить серверы, а затем перейти к HTTP: // локальный: 8888 / чтобы увидеть ваше веб-приложение. Теперь, используя докер, мне интересно, как я могу сделать то же самое. До сих пор я извлекал изображения http, php и mysql из Docker Hub.

  1. Как я могу связать эти три изображения вместе, чтобы они работали? Или как мне их одновременно запускать?
  2. Где я должен поместить / htdocs или как я могу получить к нему доступ?
  3. У MAMP есть phpMyAdmin для доступа к базе данных, есть ли в Docker что-то подобное?

Я работаю на Mac OS X Yosemite (10.10.1) с boot2docker v1.4.1 и VirtualBox 4.3.20.

6

Решение

  1. Как я могу связать эти три изображения вместе, чтобы они работали? Или как мне их одновременно запускать?

использование инжир определить и связать контейнеры.

  1. Где я должен поместить / htdocs или как я могу получить к нему доступ?

Это зависит исключительно от конфигурации вашего контейнера. Вы можете попробовать PHP с Apache от DockerHub. Смотрите документацию для объяснения, где разместить ваши файлы.

  1. У MAMP есть phpMyAdmin для доступа к базе данных, есть ли в Docker что-то подобное?

Конечно, контейнер Docker;) поиск DockerHub

0

Другие решения

Теперь вы можете использовать docker-compose и файл docker-compose.yml для выполнения того же действия, что и на рис.

Найти контейнеры для каждого сервиса и связать их вместе — не самая простая вещь. Файл docker-compose из Влажный проект GitHub (вставлено ниже для потомков) — хорошее начало для того, чтобы все службы apache, php и mysql работали с docker-compose -f docker-compose.yml up команда.

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 в вашем файле hosts все, что вы монтируете в ~ / влажный / влажный (от той секунды до последней строки), будет помещено в htdocs контейнера докера и обработано в файле wet.dev/[whwhat].

сырость — только первый пример, который я нашел, копаясь в том, как копировать MAMP с докером. Самое главное, что вы можете использовать docker-compose вместо fig, Compose основан непосредственно на кодовой базе Fig и обратно совместим с приложениями Fig.

3