从MAMP到Docker的Web开发过渡
我是Docker的新手,我很难将其核心技术应用到我目前的Web开发中。 使用MAMP,你只需要下载应用程序,把你的PHP / HTML文件放在/ htdocs,启动服务器,然后去http:// localhost:8888 /看到你的web应用程序。 现在,使用docker工具,我想知道我怎么能做到这一点。 到目前为止我所做的是从Docker Hub中提取http,php和mysql镜像。
- 我怎样才能把这三个图像连接在一起,使它们工作? 或者我应该如何同时运行它们?
- 我应该把/ htdocs放在哪里,或者我怎样才能访问它?
- MAMP有一个用于数据库访问的phpMyAdmin,Docker有这样的东西吗?
我正在使用boot2docker v1.4.1和VirtualBox 4.3.20在Mac OS X Yosemite(10.10.1)上工作。
- 我怎样才能把这三个图像连接在一起,使它们工作? 或者我应该如何同时运行它们?
使用fig来定义和链接容器。
- 我应该把/ htdocs放在哪里,或者我怎样才能访问它?
这完全取决于你的容器configuration。 您可以使用 DockerHub中的Apache来尝试PHP 。 有关解释放置文件的位置,请参阅文档。
- MAMP有一个用于数据库访问的phpMyAdmin,Docker有这样的东西吗?
当然,一个Docker容器;) searchDockerHub
你现在可以使用docker docker-compose
和一个docker-compose.yml文件来完成与图1相同的function。
find每个服务的容器并将它们连接在一起并不是最容易的事情。 来自潮湿的github项目的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
在你的主机文件中的任何东西,你安装在〜/潮湿/潮湿(每秒到最后一行)将被放入docker集装箱的htdocs和服务在damp.dev/ [无论]。
潮湿只是我发现如何复制MAMP与docker的第一个例子。 最重要的是要注意的是,你可以使用docker-compose
代替fig
。 Compose直接基于Fig代码库,并且与Fig应用程序向后兼容。
- docker –tls vs –tlsverify
- 我怎样才能将后端和前端中的wordpress与docker容器分开?
- HAProxy 1.8 – 在HAProxy软重装期间传递套接字连接
- 如何在Docker中备份数据库
- 无法在Windows 10上通过gradle构buildDocker镜像
- docker-machine:没有路由到主机默认docker机(使用主机的vboxnetworking)在一些wifinetworking
- Java的Tomcat 7容器上的heapsize和其他内存configuration
- Docker容器中的MongoDB运行日志空间不足
- Docker正在重复使用不同容器的相同卷