之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发、测试、生产环境由于软件版本或者配置不一致产生的问题, 今年准备持续玩玩docker+kubernetes下的敏捷开发模式(当然还有其它:如持续集成)

备忘下第一步,环境搭建

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

拉取镜像 nginx
docker pull hub.c.163.com/library/nginx:latest

拉取镜像 mysql
docker pull hub.c.163.com/library/mysql:5.6

拉取镜像 php
docker pull hub.c.163.com/library/php:7.1-fpm

创建mysql容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name liugx_mysql56 hub.c.163.com/library/mysql:5.6
参数说明
-d 让容器在后台运行
-p 添加主机到容器的端口映射
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置
–name 容器的名字,随便取,但是必须唯一

创建php-fpm容器
docker run -d -v /Users/liugx/docker/data/www:/var/www/html -p 9000:9000 --link liugx_mysql56:mysql --name liugx_php71 hub.c.163.com/library/php:7.1-fpm
参数说明
-d 让容器在后台运行
-p 添加主机到容器的端口映射
-v 添加目录映射,即主机上的/Users/liugx/docker/data/www和容器中/var/www/html目录是同步的
–name 容器的名字
–link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。

这里如果不指定–link参数其实也是可以得,因为容易本身也是有ip的且唯一,所以我们也可以直接利用ip去访问容器。

创建nginx容器
docker run -d -p 80:80 --name liugx_nginx -v /Users/liugx/docker/data/www:/var/www/html --link liugx_php71:phpfpm hub.c.163.com/library/nginx
参数说明:
-d 让容器在后台运行
-p 添加主机到容器的端口映射
-v 添加目录映射,即主机上的/Users/liugx/docker/data/www和容器中/var/www/html目录是同步的
–name 容器的名字
–link 与另外一个容器建立起联系

后面的redis和elasticsearch直接像创建mysql数据库容器一样
docker pull hub.c.163.com/library/redis:latest
docker pull hub.c.163.com/library/elasticsearch:latest

######注意######
配置完毕后需要修改nginx配置文件(后面的步骤和平常配置类似,修改配置了重启对应的nginx容器即可生效)
主要修改内容,修改主机的根目录,如果是.php文件就转发给后端的php-fpm处理(192.168.99.100:9000)

方法:
修改nginx配置文件(进入容器):
docker exec -it liugx_nginx bash
更新软件源
apt update
安装vim
apt-get install vim

附上贴图:
连接mysql

访问php文件

nginx配置

Mac下docker搭建lnmp环境 + redis + elasticsearch的更多相关文章

  1. docker搭建lnmp环境(问题,资料,命令)

    入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull & ...

  2. Centos 7 下yum搭建lnmp环境(yum安装方式)

    我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...

  3. 使用docker搭建lnmp环境

    Docker容器LNMP环境搭建 安装 制作镜像 启动并关联实例 安装 系统环境 硬件型号: ThinkPad T520 系统版本: ubuntu 14.04 CPU: i7 RAM: 8G 添加软件 ...

  4. Mac下docker搭建lamp本地开发环境

    1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢) DaoCloud下载:下载地址(速度较快,可能版本较低) 2.装完之后打开: 3.检查一下是否下载成功: $  ...

  5. docker搭建lnmp环境

    1.搭建lnmp网站平台 1.创建mysql数据库容器 docker run -it -d --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD= ...

  6. Windows 下手工搭建 LNMP 环境

    参考资料 如果想方便,可以直接使用集成的 LNMP 环境(例如 PHPStudy). 下载 PHP 下载地址:https://windows.php.net/download 根据你的系统选择 32 ...

  7. 基于Docker搭建LNMP环境(转)

    关于什么是docker,建议大家先上网查查有关的用法.如果您不了解,在这篇文章中,您可以简单的理解为他是一个轻量级的虚拟机. 一.docker安装mysql 首先,我们从仓库拉取一个MySql的镜像 ...

  8. 第一篇博文,整理一下关于Mac下安装本地LNMP环境的一些坑

    安装的主要步骤是按照以下这篇文章进行的http://blog.csdn.net/w670328683/article/details/50628629,但是依然遇到了一些大大小小的坑(一个环境搞了一天 ...

  9. Ubuntu 18.04.1 下快速搭建 LNMP环境

    1.Nginx的安装 Nginx安装是属于最简单的,只需要在命令行执行 sudo apt-get install nginx 就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当 ...

随机推荐

  1. Winform开发中另一种样式的OutLookBar工具条

    很早的时候,曾经写了一篇随笔<WinForm界面开发之“OutLookBar”工具条>介绍了OutLookBar样式的工具条,得到很多同行的热烈反馈,我个人也比较喜欢这样的工具条布局,因此 ...

  2. Java常用类:StringBuilder

    一.介绍 2 3 4 5 //同样,StringBuilder也是final修饰的不可变,相比String来说,继承了AbstractStringBuilder,StringBuffer也是同样继承了 ...

  3. Yii2学习笔记:汉化yii,设置表单的描述(属性标签attributeLabels)

    一:汉化框架 框架汉化在这里设置,如果不生效,前台后台的配置文件都设置下应该就可以了 二:汉化表单 汉化表单,直接在模型层设置,例如: 原来的联系我们表单 汉化后: ] 这种汉化在哪里修改呢?其实是设 ...

  4. Mac环境下svn的使用(转)

    本文目录 一.创建代码仓库,用来存储客户端所上传的代码 二.配置svn的用户权限 三.使用svn客户端功能 在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下, ...

  5. APUE学习笔记——10.9 信号发送函数kill、 raise、alarm、pause

    转载注明出处:Windeal学习笔记 kil和raise kill()用来向进程或进程组发送信号 raise()用来向自身进程发送信号. #include <signal.h> int k ...

  6. jsp页面图片显示不出来

    jsp页面就是MyJsp.jsp <body> This is my JSP page. <br> <img src="img/top.jpg"> ...

  7. 访问路径、URL、资源加载、转码、 btn的设置、枚举

    一.URL 1.什么是URL? URL是某个资源的唯一路径,通过这个路径就能访问对应的资源 2.URL的组成 协议头://全路径 * 协议头就代表资源的类型,比如http代表网络服务器资源,ftp代表 ...

  8. slack 团队协作平台

    /**************************************************************************** * slack 团队协作平台 * 说明: * ...

  9. js之留言字数限制

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. tcp流式套接字和udp数据报套接字编程区别

    1. 流式套接字采用字节流方式进行传输,而数据报套接字 使用数据报形式传输数据2. tcp套接字会产生粘包,udp有消息边界,不会形成粘包.3. tcp编程可以保证消息的完整性,udp则不能保证4. ...