Web开发从MAMP过渡到Docker

时间:2015-01-14 08:21:21

标签: php mysql web docker boot2docker

我是Docker的新手,我很难将其核心技术应用到我目前的网站开发中。使用MAMP,您只需下载应用程序,将您的PHP / HTML文件放在/ htdocs上,启动服务器,然后转到http://localhost:8888/查看您的webapp。现在,使用docker,我想知道我怎么能这样做。到目前为止我所做的是从Docker Hub中提取http,php和mysql图像。

  1. 如何将这三个图像链接在一起以使它们起作用?或者我应该如何同时运行它们?
  2. 我应该在哪里放置/ htdocs或如何访问它?
  3. MAMP有一个用于数据库访问的phpMyAdmin,Docker有这样的东西吗?
  4. 我正在使用boot2docker v1.4.1和VirtualBox 4.3.20开发Mac OS X Yosemite(10.10.1)。

2 个答案:

答案 0 :(得分:3)

您现在可以使用docker-compose和docker-compose.yml文件来完成与图相同的事情。

为每个服务查找容器并将它们链接在一起并不是最容易的事情。来自The damp github project的docker-compose文件(下面粘贴后代)是如何使用docker-compose -f docker-compose.yml up命令运行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(每秒到最后一行)中挂载的任何内容都将被放入docker容器的htdocs中在damp.dev / [whatever]上服务。

潮湿是我发现的第一个如何用Docker复制MAMP的例子。最重要的是要注意,您可以使用docker-compose代替figCompose is based directly on the Fig codebase and is backwards-compatible with Fig applications.

答案 1 :(得分:0)

  
      
  1. 如何将这三个图像链接在一起以使它们起作用?或者我应该如何同时运行它们?
  2.   

使用fig定义和链接容器。

  
      
  1. 我应该在哪里放置/ htdocs或如何访问它?
  2.   

这完全取决于您的容器配置。您可以尝试从DockerHub PHP with Apache。请参阅文档以获取放置文件的位置的说明。

  
      
  1. MAMP有一个用于数据库访问的phpMyAdmin,Docker有这样的东西吗?
  2.   

当然,Docker容器;)search DockerHub

相关问题