使用docker搭建laravel记叙
第一步,先从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记叙的更多相关文章
- 基于docker搭建laravel项目
基于docker搭建laravel项目 公司PHP项目是Laravel框架写的,目前环境需要通过docker来部署一下.网上学习了一下相关知识.整理后做一个笔记.用到定时任务crontab与进程管理s ...
- 如何用docker安装laravel开发环境
如何用docker安装laravel开发环境 看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但 ...
- TODO:搭建Laravel VueJS SemanticUI
TODO:搭建Laravel VueJS SemanticUI Laravel是一套简洁.优雅的PHP开发框架(PHP Web Framework).可以让你从面条一样杂乱的代码中解脱出来:它可以帮你 ...
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- mac下通过docker搭建LEMP环境
在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- docker搭建zabbix
本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...
随机推荐
- WCF服务上应用protobuf z
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样 的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多.虽然是二进制数据格式,但并没有因此变得 ...
- June 23rd 2017 Week 25th Friday
Life doesn't get easier, you just get stronger. 生活从未变得轻松,是你在一点一点变得坚强. So in the same way we can get ...
- Android Studio 独立引入(非友盟)微博分享和回调时问题
最近同事在做一个小项目时,由于产品的要求,Wap页面的分享规定不能使用友盟的社会化组件.他则不得不手动一个一个渠道的引入分享,好在渠道不多就三个,但是第一微博分享引入的时候问题就出现了. 问题一:li ...
- python数据结构(整理)
http://www.cnblogs.com/yupeng/p/3413763.html 1. 单链表 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点 ...
- Kubernetes pod里一个特殊的容器:pause-amd64
大家在使用Docker容器或者Kubernetes时,遇到过这个容器么?gcr.io/google_containers/pause-amd64 docker ps的命令返回的结果: [root@k8 ...
- tomcat 8 startup.bat启动乱码问题
修改Tomcat bin目录下startup.bat文件 将call "%EXECUTABLE%" start %CMD_LINE_ARGS% 改为 call "%EX ...
- IntelliJ IDEA 运行你的第一个Java应用程序
IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目. 单击创建新的项目. 打开新建项目向导.你应该注意的主要是项目的SDK.SD ...
- Netty问题小结
1.问题:高并发时连接不够:java.net.SocketException: No buffer space available (maximum connections reached?): co ...
- [零基础学pythyon]安装python编程环境
不论什么高级语言都是须要一个自己的编程环境的,这就好比写字一样,须要有纸和笔,在计算机上写东西.也须要有文字处理软件,比方各种名称的OFFICE.笔和纸以及office软件,就是写东西的硬件或软件.总 ...
- PHP中使用substr()截取字符串出现中文乱码问题该怎么办
一.使用mbstring扩展库的mb_substr()截取就不会出现乱码了. 可以用mb_substr()/mb_strcut()这个函数,mb_substr()/mb_strcut()的用法与sub ...