1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢)

DaoCloud下载:下载地址(速度较快,可能版本较低)

2.装完之后打开:

3.检查一下是否下载成功:

  1. $ docker --version
  2. Docker version 1.13.0-rc3, build 4d92237
  3. $ docker-compose --version
  4. docker-compose version 1.9.0, build 2585387
  5. $ docker-machine --version
  6. docker-machine version 0.9.0-rc2, build 7b19591

如果在终端里面输入docker提示的是command not found请将docker加入到环境变量:

  1. vim /etc/profile
  2. 最后插入 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版本:

  1. docker search Ubuntu

或者直接下载:

  1. docker pull ubuntu # 这样安装的Ubuntu版本是16.04的
  2. docker pull www.mcyllpt.com ubuntu:14.04 # ubuntu 14.04 版本

进入Ubuntu安装一些必要的软件:

  1. docker run <image id> -t -i /bin/bash # -i 同步输入 -t 同步输出 -d 持续运行
  2. 然后就进入到了熟悉的Ubuntu
  3. 安装 vim www.qianjin178.com apache2 mysql php5 redis
  4. apt-get update
  5. apt-get www.boshenyl.cn install vim
  6. apt-get install apache2
  7. apt-get install mysql-server
  8. apt-get install php5 libapache2-mod-php5 php5-gd php5-mysql
  9. apt-get install redis-server php5-redis

安装完成之后 exit 退出当前容器

使用docker ps -a查看当前配置完的容器,进行保存到images

  1. docker commit --author “zhizhi(作者名字)” --message --"lampInit(容器说明)" id lamp:v1

这边的id指的是容器id,可以在docker ps -a查看到

再输入docker images,可以看到images里面多了个lamp的镜像

运行镜像并映射本地文件夹到容器文件夹

  1. 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服务:

  1. docker exec -it 容器id /bin/bash
  2. service apache2 start

如果这边出现

在容器中键入命令修改apache配置文件:

vim /etc/apache2/apache2.conf

在配置文件尾部插入:

ServerName 172.17.0.2

保存重新开启apache服务

在本地的映射目录新建一个php文件进行测试:

打开浏览器访问:localhost:8989/test.php  进行测试

Mac下docker搭建lamp本地开发环境的更多相关文章

  1. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  2. 如何通过Docker搭建一个swoft开发环境

    本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境 ,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们. Swoft首个基于 Swoole 原生协程的新时代 PHP ...

  3. 转-在Mac OS上搭建Python的开发环境

    在Mac OS上搭建Python的开发环境   本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...

  4. 用 Docker 搭建 ORACLE 数据库开发环境

    用 Docker 搭建 ORACLE 数据库开发环境 需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题. 还好,现在有 Docker 化的部署方式,省去很 ...

  5. 搭建BCE本地开发环境

    1. 在官网下载VirtualBox & 虚拟机 http://bce.baidu.com/doc/BAE/GUIGettingStarted.html#.E4.B8.8B.E8.BD.BD. ...

  6. 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)

    laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...

  7. 利用Docker搭建java项目开发环境

    一.需求 一台 Ubuntu 16.0.4 LTS ,安装了Docker服务,Rancher服务,也制作了Tomcat相关的image,接下来我们就来说一下如何快速的构建一个开发环境和测试环境 二.步 ...

  8. 使用Wamp搭建Php本地开发环境,HBuilder调试

    初涉Php,此处做点笔记,希望下次不要能够轻松应对,至少不要在入同一个坑 本文摘要: wamp和HBuilder和Mysql5.7的安装包 Wamp的使用,包括80端口,443端口的占用问题 HBui ...

  9. Mac下Sublime Text3配置Python开发环境

    设置Sublime Text的语法为python View -> syntax ->python 设置编译环境(默认python版本2.7) Tools -> Build Syste ...

随机推荐

  1. Java String 字符串类细节探秘

    一. 字符串基本知识要点 字符串类型String是Java中最常用的引用类型.我们在使用Java字符串的时候,通常会采用两种初始化的方式:1. String str = "Hello Wor ...

  2. 「日常训练」Kefa and Company(Codeforces Round #321 Div. 2 B)

    题意与分析(CodeForces 580B) \(n\)个人,告诉你\(n\)个人的工资,每个人还有一个权值.现在从这n个人中选出m个人,使得他们的权值之和最大,但是对于选中的人而言,其他被选中的人的 ...

  3. TPO-16 C1 Reserve the room for a rehearsal

    TPO-16 C1 Reserve the room for a rehearsal 第 1 段 1.Listen to a conversation between a Student and a ...

  4. Python 默认参数值

    Python 默认参数值,对于一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们提供值的情况.默认参数值可以有效帮助解决这一情况.你可以通过在函数定义时附加一个赋值运算符(= ...

  5. Python全栈 进阶(进阶内容都在这了)

    原文地址 https://yq.aliyun.com/articles/632754?spm=a2c4e.11155435.0.0.23eb3312feB6dG ................... ...

  6. java基础-Comparator接口与Collections实现排序算法

    java 排序Comparable和Comparator使用 java提供了两个排序用的接口Comparable和Comparator,一般情况下使用区别如下: Comparable 接口用于类的固定 ...

  7. Pandas dataframe数据写入文件和数据库

    转自:http://www.dcharm.com/?p=584 Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作,DataFr ...

  8. 适合初学者的嵌入式Linux计划

    俗话说万事开头难,刚开始的时候,你是否根本就不知如何开始,上网查资料被一堆堆新名词搞的找不到北,去图书馆看书也是找不到方向?又是arm,又是linux,又是uboot头都大了,不知道自己究竟从哪里开始 ...

  9. Java学习个人备忘录之构造函数&this

    构造函数 概念:构建创造对象时调用的函数. 作用:可以给对象进行初始化,创建对象都必须要通过构造函数初始化. 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数.如果在类中定义了指 ...

  10. C#2d命令行小游戏

    [ 星 辰 · 第 二 条 约 定 ] 要求 空地:空格 | 边界/墙:'█' | 人物:'♜' 实现人物的上下左右移动 记录关系图.流程图.设计过程遇到的问题及解决 项目压缩包 [项目源码](htt ...