Переход веб-разработки от MAMP к Docker

Я новичок в Docker, и мне трудно применять свою основную технологию к моей нынешней веб-разработке. Используя MAMP, вам просто нужно загрузить приложение, поместить ваши PHP / HTML файлы на / htdocs, запустить серверы, а затем перейти к http://localhost:8888/ чтобы увидеть ваш webapp. Теперь, используя docker, мне интересно, как я могу сделать то же самое. То, что я сделал до сих пор, - это вытащить изображения 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.

2 ответов


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

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

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

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

  1. У 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.