操作系統(tǒng):
win10 家庭版
安裝docker:
官網(wǎng)下載的docker無法安裝成功,提示操作系統(tǒng)版本問題~~~~
所以直接下載了阿里提供的docker安裝包:
http://mirrors.aliyun.com/doc ...
社區(qū)版是-ce后綴的
阿里鏡像加速
首先登錄阿里云 查找容器鏡像服務(wù)
![](/d/20211016/57033cf846b84b281322ce9f9c4c313c.gif)
win10找到C:Users用戶.dockermachinemachinesdefault底下有個(gè)config.json文件,在屬性RegistryMirror添加加速器地址,docker虛擬機(jī)重啟即可。
docker toolbox文件掛載機(jī)制
看了很多文章很多都是直接 -v /c/data:/data 直接把c盤下的data掛載的容器里。或許因?yàn)槲矣玫氖莇ocker toolbox所以掛載的時(shí)候應(yīng)該先在虛擬機(jī)上進(jìn)行文件共享,共享后重啟虛擬機(jī)
![](/d/20211016/06b6a4f841253cb5a7532bb6b9006a40.gif)
docker-matchine restart default
進(jìn)入虛擬機(jī)后臺 docker-matchine ssh default 可以看到
![](/d/20211016/5ec29c40f6e5d6667f8ec3900d9db02b.gif)
這個(gè)時(shí)候在進(jìn)行 -v /workspace:/workspace 進(jìn)行docker的掛載
自定義laravel開發(fā)鏡像 基于ubuntu鏡像安裝
docker pull ubuntu
啟動ubuntu容器
docker run -itd --name test -p 8080:80 ubuntu
進(jìn)入ubuntu容器安裝需要的內(nèi)容
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端口
![](/d/20211016/fc7656785e25803539eec85c23c81dad.gif)
創(chuàng)建測試用項(xiàng)目
![](/d/20211016/71eed518039aa949ed9693329dffdb29.gif)
配置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監(jiān)聽端口
listen = /run/php/php7.4-fpm.sock
修改為
listen = 127.0.0.1:9000
重啟php7.4-fpm服務(wù)
![](/d/20211016/92ed5a8a5ecf891e5832ed8612b89a34.gif)
配置mysql數(shù)據(jù)庫
允許遠(yuǎn)程用戶連接,查找/etc/mysql/mysql.conf.d/mysqld.cnf文件,注釋掉以下內(nèi)容:
bind-address = 127.0.0.1
進(jìn)入用戶界面修改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服務(wù)重啟
將配置好的容器單獨(dú)保存為laravel鏡像
docker commit -m="laravel開發(fā)環(huán)境" -a="作者" e218edb10161 laravel:v1
將配置好的容器導(dǎo)出
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 是所有項(xiàng)目的目錄
nginx-conf 是nginx的配置目錄 里面有個(gè)default的配置文件,用于覆蓋容器的nginx配置文件
總結(jié)
到此這篇關(guān)于docker在win10家庭版下構(gòu)建laravel開發(fā)環(huán)境的教程詳解的文章就介紹到這了,更多相關(guān)docker構(gòu)建laravel開發(fā)環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!