服务器 
首页 > 服务器 > 浏览文章

docker在win10家庭版下构建laravel开发环境的教程详解

(编辑:jimmy 日期: 2024/9/24 浏览:3 次 )

操作系统:

win10 家庭版

安装docker:

官网下载的docker无法安装成功,提示操作系统版本问题~~~~

所以直接下载了阿里提供的docker安装包:

http://mirrors.aliyun.com/doc ...

社区版是-ce后缀的

阿里镜像加速

首先登录阿里云 查找容器镜像服务

docker在win10家庭版下构建laravel开发环境的教程详解

win10找到C:Users用户.dockermachinemachinesdefault底下有个config.json文件,在属性RegistryMirror添加加速器地址,docker虚拟机重启即可。

docker toolbox文件挂载机制

看了很多文章很多都是直接 -v /c/data:/data 直接把c盘下的data挂载的容器里。或许因为我用的是docker toolbox所以挂载的时候应该先在虚拟机上进行文件共享,共享后重启虚拟机

docker在win10家庭版下构建laravel开发环境的教程详解

docker-matchine restart default

进入虚拟机后台 docker-matchine ssh default 可以看到

docker在win10家庭版下构建laravel开发环境的教程详解

这个时候在进行 -v /workspace:/workspace 进行docker的挂载

自定义laravel开发镜像 基于ubuntu镜像安装

docker pull ubuntu

启动ubuntu容器

docker run -itd --name test -p 8080:80 ubuntu

进入ubuntu容器安装需要的内容

apt-get update
apt-get install nginx
apt-get install php
apt-get install php7.4-fpm php7.4-mysql php7.4-gd php7.4-mbstring
apt-get install mysql-server
apt-get install composer
apt-get install net-tools
apt-get install vim
apt-get install node

启用nginx

service nginx start

访问docker启用IP的8080端口

docker在win10家庭版下构建laravel开发环境的教程详解

创建测试用项目

docker在win10家庭版下构建laravel开发环境的教程详解

配置nginx文件

server {
 listen 80;
 listen [::]:80;

 server_name example.com;

 root /workspace/test;
 index index.php index.html;
 
 location ~ \.php$ {
 root /workspace/test;
 index index.php index.html;
 fastcgi_index index.php;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
 include /etc/nginx/fastcgi_params;
 }
}

重启nginx

service nginx restart

启用php-fpm

service php7.4-fpm start

找到/etc/php/7.4/fpm/pool.d/www.conf文件 打开php-fpm监听端口

listen = /run/php/php7.4-fpm.sock
修改为
listen = 127.0.0.1:9000

重启php7.4-fpm服务

docker在win10家庭版下构建laravel开发环境的教程详解

配置mysql数据库

允许远程用户连接,查找/etc/mysql/mysql.conf.d/mysqld.cnf文件,注释掉以下内容:

bind-address = 127.0.0.1

进入用户界面修改root用户信息

use mysql;
update user set host='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

mysql服务重启

将配置好的容器单独保存为laravel镜像

docker commit -m="laravel开发环境" -a="作者" e218edb10161 laravel:v1

将配置好的容器导出

docker export 1e560fca3906 > laravel.tar

完整的启动laravel容器

docker run -itd --name laravel -p 8080:80 -p 3306:3306 -v /workspace:/workspace -v /workspace/docker-conf/nginx-conf:/etc/nginx/sites-enabled laravel:v1

workspace 是所有项目的目录

nginx-conf 是nginx的配置目录 里面有个default的配置文件,用于覆盖容器的nginx配置文件

总结

上一篇:Nginx安装出现错误解决方案
下一篇:zabbix 添加你需要监控的主机步骤详解
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?