第一步,先从dockerhub上pull一个docker镜

docker pull laraedit/laraedit

这个docker镜像已经安装了 nginx、laravel和mysql,所以不需要自己再去安装,先创建一个文件夹

mkdir /usr/local/laravel

直接运行一个容器

docker run -it --name laravel -p : -p:: -v /usr/local/laravel:/var/www/html/app laraedit/laraedit /bin/bash 

--name  laravel容器名字,可以随便改

-v 主机文件夹:docker文件夹 是将主机文件夹挂载到容器中,现在访问/usr/local/laravel就像访问容器中/var/www/html/app一样

运行这个命令之后直接进入到了容器中

按Ctrl+P 然后Ctrl+Q 退出容器 ,再次进入docker exec -it laravel /bin/bash 或者 docker exec -it 容器id  /bin/bash

这个laraedit预先已经将 80, 443, 3306, 6379端口开放,但如果别的主机想要使用这个端口访问 ,还需要用-p 主机端口:docker端口 进行端口映射, 我暴露出了两个端口网站的和mysql的

因为我想要在自己的电脑上用navicat连接docker的数据库,不过现在我连数据库密码都不知道,首先进入数据库

mysql

这里不需要用户名密码直接进入

 use mysql;

 select host,user,authentication_string from user;

可以看到类似以下

+-----------+-----------+-------------------------------------------+
| host | user | authentication_string |
+-----------+-----------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| 0.0.0.0 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 0.0.0.0 | homestead | *14E65567ABDB5135D0CFD9A70B3032C179A49EE7 |
| % | homestead | *14E65567ABDB5135D0CFD9A70B3032C179A49EE7 |
+-----------+-----------+-------------------------------------------+

有可以远程访问的root账号,所以直接改

 update user set authentication_string =password('你的密码') where user='root'
  GRANT ALL PRIVILEGES ON *.* TO '你的用户名'@'%'IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

上面就是添加了远程访问的权限

这时候就可以直接在自己的电脑上用navicat连接docker中的mysql了

接着去配置docker容器中的nginx

vim /etc/nginx/nginx.conf

配置参照官方文档

https://laravel-china.org/docs/laravel/5.5/deployment

具体配置还是根据自己实际环境配置

配置完成之后将自己的网站laravel根目录下的所有文件全部复制到容器中的app目录下,因为已经做了目录挂载,所以直接复制到主机上 /usr/local/laravel下即可

然后将laravel的数据库地址更改一下,修改为主机外网ip地址

最后修改容器中/var/www/html/app的属主

chown -R www-data:www-data /var/www/html/app

如果使用了Eloquent ORM框架的话

再在根目录下运行php artisan  migrate,查看数据库中表是不是都成生了。

现在就可以访问php网站了

使用docker搭建laravel记叙的更多相关文章

  1. 基于docker搭建laravel项目

    基于docker搭建laravel项目 公司PHP项目是Laravel框架写的,目前环境需要通过docker来部署一下.网上学习了一下相关知识.整理后做一个笔记.用到定时任务crontab与进程管理s ...

  2. 如何用docker安装laravel开发环境

    如何用docker安装laravel开发环境 看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但 ...

  3. TODO:搭建Laravel VueJS SemanticUI

    TODO:搭建Laravel VueJS SemanticUI Laravel是一套简洁.优雅的PHP开发框架(PHP Web Framework).可以让你从面条一样杂乱的代码中解脱出来:它可以帮你 ...

  4. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  5. 使用 Docker 搭建 Java Web 运行环境

    黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...

  6. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  7. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...

  8. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  9. docker搭建zabbix

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...

随机推荐

  1. console和windows子系统

    https://blog.csdn.net/ilvu999/article/details/8050292

  2. Maven学习总结(一)——pom.xml文件配置详解

    <build>标签:<plugins>给出构建过程中所用到的插件 <plugins> <plugin> <groupId>org.apach ...

  3. 设置C++ cout输出精度

    cout.precision(5); 数字表示小数点位数 // modify precision #include <iostream> // std::cout, std::ios in ...

  4. UML用例图间关系说明

    用例间一般存在如下四种关系: 1."通信"关系(<<cmmunicate>>构造型): "通信"关系:使用实心的关联线或带<< ...

  5. 发布Hessian服务作为服务内部基础服务

    摘要:Hessian经常作为服务内部RPC工具来使用,速度快效率高.重构代码的核心思想就是把共用的代码段提出来,使代码结构优化:架构设计类似,把基本的共用的服务提出来,使架构优化.下面讲述一下我在具体 ...

  6. pexpect 初坑

    通过一个很坑的任务,最近认识了一个新坑: pexpect .其实基本的用法并不难,不过,我还是跟以前一样,把几个基本函数的坑蹚了个遍.有感而发,记录一下. 首先简单的介绍一下这个坑,哦不对,这个库.这 ...

  7. SP34096 【DIVCNTK - Counting Divisors (general)】

    题目 求 \[\sum_{i=1}^n \sigma(i^k)\] 我们先来设一个函数\(f(i)=\sigma(i^k)\) 根据约数个数定理 \[f(p)=\sigma(p^k)=k+1\] \[ ...

  8. 苹果手机(ios系统)蓝牙BLE的一些特点

    摘自<BluetoothDesignGuidelines.pdf>文档 1. pairing: 苹果手机无法主动发起SMP配对流程,可通过以下两种方式发起配对流程: (1)从端主动发起配对 ...

  9. Linux的vi&vim

    vi和vim的基本介绍 1.基本介绍 所有的 Linux 系统都会内建 vi 文本编辑器. Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别 语法的正确性,方便程序设计. ...

  10. iOS 数据库sqlite3.0操作--超简单--看我就够啦

    iOS客户端数据存储的方式有很多,下面主要是介绍苹果自带的sqlite3.0的使用方法. 首先导入sqlite3.0的框架.然后导入头文件#import <sqlite3.h>就行了 下面 ...