Mac下docker搭建lamp本地开发环境
1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢)
DaoCloud下载:下载地址(速度较快,可能版本较低)
2.装完之后打开:

3.检查一下是否下载成功:
- $ docker --version
- Docker version 1.13.0-rc3, build 4d92237
- $ docker-compose --version
- docker-compose version 1.9.0, build 2585387
- $ docker-machine --version
- docker-machine version 0.9.0-rc2, build 7b19591
如果在终端里面输入docker提示的是command not found请将docker加入到环境变量:
- vim /etc/profile
- 最后插入 export PATH=${PATH}:/usr/local/bin ## docker命令安装到了这个目录
可以运行一个hello-world镜像来测试一下:
如果本地不存在这个镜像,则会从远程镜像库中拉取
运行成功会出现:
搭环境之前先介绍一些docker基础命令:
docker images 查看已下载的镜像
docker ps 查看正在运行的容器
docker ps -a 查看所有容器
docker stop 容器id 停止正在运行的容器
docker rm 容器id 删除容器
docker rmi 镜像id 删除images
docker容器和镜像的理解可以参考:docker镜像与容器
4.搭建lamp本地开发环境
安装Ubuntu:
可以先查找hub.docker.com里可供下载的Ubuntu版本:
- docker search Ubuntu
或者直接下载:
- docker pull ubuntu # 这样安装的Ubuntu版本是16.04的
- docker pull www.mcyllpt.com ubuntu:14.04 # ubuntu 14.04 版本
进入Ubuntu安装一些必要的软件:
- docker run <image id> -t -i /bin/bash # -i 同步输入 -t 同步输出 -d 持续运行
- 然后就进入到了熟悉的Ubuntu
- 安装 vim www.qianjin178.com apache2 mysql php5 redis
- apt-get update
- apt-get www.boshenyl.cn install vim
- apt-get install apache2
- apt-get install mysql-server
- apt-get install php5 libapache2-mod-php5 php5-gd php5-mysql
- apt-get install redis-server php5-redis
安装完成之后 exit 退出当前容器
使用docker ps -a查看当前配置完的容器,进行保存到images
- docker commit --author “zhizhi(作者名字)” --message --"lampInit(容器说明)" id lamp:v1
这边的id指的是容器id,可以在docker ps -a查看到
再输入docker images,可以看到images里面多了个lamp的镜像
运行镜像并映射本地文件夹到容器文件夹
- docker run -itd -p 8989:80 -v www.wanmeiyuele.cn /Users/wwwroot:/var/www/html id /bin/bash
-p 将本地的8989端口映射到容器的80端口
-v 将本地的 文件夹映射到服务器Apache默认的网站目录下
id 镜像id
这边冒号左边的路径指的是本地的文件夹目录,必须用绝对路径,冒号右边的路径是容器的网站根目录
进入容器开启apache2服务:
- docker exec -it 容器id /bin/bash
- service apache2 start
如果这边出现
在容器中键入命令修改apache配置文件:
vim /etc/apache2/apache2.conf
在配置文件尾部插入:
ServerName 172.17.0.2
保存重新开启apache服务
在本地的映射目录新建一个php文件进行测试:
打开浏览器访问:localhost:8989/test.php 进行测试
Mac下docker搭建lamp本地开发环境的更多相关文章
- Mac下docker搭建lnmp环境 + redis + elasticsearch
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...
- 如何通过Docker搭建一个swoft开发环境
本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- 用 Docker 搭建 ORACLE 数据库开发环境
用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...
- 搭建BCE本地开发环境
1. 在官网下载VirtualBox & 虚拟机 http://bce.baidu.com/doc/BAE/GUIGettingStarted.html#.E4.B8.8B.E8.BD.BD. ...
- 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)
laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...
- 利用Docker搭建java项目开发环境
一.需求 一台 Ubuntu 16.0.4 LTS ,安装了Docker服务,Rancher服务,也制作了Tomcat相关的image,接下来我们就来说一下如何快速的构建一个开发环境和测试环境 二.步 ...
- 使用Wamp搭建Php本地开发环境,HBuilder调试
初涉Php,此处做点笔记,希望下次不要能够轻松应对,至少不要在入同一个坑 本文摘要: wamp和HBuilder和Mysql5.7的安装包 Wamp的使用,包括80端口,443端口的占用问题 HBui ...
- Mac下Sublime Text3配置Python开发环境
设置Sublime Text的语法为python View -> syntax ->python 设置编译环境(默认python版本2.7) Tools -> Build Syste ...
随机推荐
- FPGA代码一位半加器入门-第2篇
1. 代码比较简单,总结起来是用逻辑运算替代了数学运算加减,应该是因为这样的逻辑资源耗费的少.S是A+B的个位,CO是A+B的进位. module half_adder(A,B,S,CO); inpu ...
- 使用navicat连接Mysql8.0出现2059错误
一. 进入MySQL,打开要用navicat连接的数据库 二.打开运行以下代码: ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密码' PAS ...
- Qt-QML-C++交互实现文件IO系统
QMl是没有自己的文件IO控制的,这里如果我们需要对文件进行读写操作,那么就需要去C++或者JS完成交互,交互方式有多种,由于我还没有掌握,这里就不介绍具体的交互方式了.这里就简单说明一下我的实现过程 ...
- php常用几个数组的区别
本文主要介绍的php数组函数主要有:sort.rsort.asort.arsort.ksort.krsort 测试数据定义一个关联数组如下: $data=[ 'f'=>123, 'b'=> ...
- WEB页面常用基本控件测试用例
一.树控件的测试外观操作 1)项目中的所有树是否风格一致 2)树结构的默认状态是怎样的.比如默认树是否是展开,是展开几级? 是否有默认的焦点? 默认值是什么?展开的节点图标和颜色? 2.执行操作 1 ...
- 域名、IP地址、URL关系
域名是个文字形式记录的IP地址 IP地址是计算机在网络中的门牌号! URL是网页地址 例如1: http://zhidao.baidu.com/question/14674128.html 是URL ...
- Spark mlib的本地向量
Spark mlib的本地向量有两种: DenseVctor :稠密向量 其创建方式 Vector.dense(数据) SparseVector :稀疏向量 其创建方式有两种: 方法一:Vector. ...
- node.js应用--转载
最近,在向大学生们介绍 HTML5 的时候,我想要对他们进行问卷调查,并向他们显示实时更新的投票结果.鉴于此目的,我决定快速构建一个用于此目的的问卷调查应用程序.我想要一个简单的架构,不需要太多不同的 ...
- 索引值迭代-enumerate
你想在迭代一个序列的同时跟踪正在被处理的元素索引?内置的enumerate() 函数可以很好的解决这个问题: list_c = ['a', 'b', 'c'] for i, c in enumerat ...
- jquery中的$(document).ready()、JavaScript中的window.onload()以及body中的onload()、DomContentLoaded()区别
$().ready().$(handler).$(document).ready(handler)均不是原生JS中的,都是jQuery中封装的方法.这些事件在当页面的dom节点加载完毕后就执行,无需等 ...