- 安裝docker
官方網(wǎng)站比較慢振湾,推薦在阿里云開源鏡像站下載,安裝完成查看一下版本
docker -v
=> Docker version 20.10.17, build 100c701
docker-compose -v
=> docker-compose version 1.29.2, build 5becea4c
- 安裝laradock
Laradock 為 PHP 提供的完整 Docker 本地開發(fā)環(huán)境兆蕉,有助于在 Docker 上運行 PHP 應(yīng)用程序。
git clone https://github.com/Laradock/laradock.git
cd laradock
cp .env.example .env
vim .env
# 修改下面兩個參數(shù)
=> WORKSPACE_TIMEZONE=PRC
=> WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
# 注:APP_CODE_PATH_HOST是你應(yīng)用程序的目錄美浦,APP_CODE_PATH_CONTAINER是你容器映射的目錄答憔,我這里沒做修改
- 接下來啟動容器
docker-compose up -d redis mysql nginx workspace
我這里返回報錯信息,沒有報錯的可以不看這里:
=> ERROR [internal] load metadata for docker.io/library/mysql:latest
因為我的是Mac M1彬伦,所以在 docker-compose.yml 添加參數(shù)
vim docker-compose.yml
搜索MySQL位置滔悉,/MySQL伊诵,MySQL尾部加上:platform: linux/x86_64
Failed to connect to raw.githubusercontent.com port 443: Connection refused
ERROR: Service 'workspace' failed to build : Build failed,
通過https://ipaddress.com/website/raw.githubusercontent.com回官,
查詢 raw.githubusercontent.com 的真實 IP, 然后手工添加到 /etc/hosts, 比如 185.199.108.133 raw.githubusercontent.com
sudo vim /etc/hosts
加上:185.199.108.133 raw.githubusercontent.com
Service 'php-fpm' failed to build : Build failed
跟workspace報錯一樣曹宴,已經(jīng)配置過了,需要多試幾次歉提,網(wǎng)絡(luò)可能有問題
重新來一遍
docker-compose up -d redis mysql nginx workspace
等待一段時間.......
docker ps # 查看啟動的服務(wù)
laradock_nginx笛坦、laradock_php-fpm、laradock_workspace苔巨、laradock_mysql版扩、laradock_redis都啟動成功
# 進(jìn)入workspace
docker-compose exec workspace bash
# 進(jìn)入的是/var/www目錄,項目都部署在這個目錄下面
# 查看composer配置的鏡像
composer config -g repositories.packagist.org
# 修改composer鏡像(全局配置(推薦))
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
嘗試跑個demo
# 拉去laravel框架
composer create-project laravel/laravel laravel_demo
cd laravel_demo
composer install
cp .env_example .env
php artisan key:generate
vim .env
可以看到APP_KEY生成了key侄泽,順便把APP_URL改一下
APP_URL=http://docker.laravel8.com
配置nginx
切換到/laradock/nginx/sites
cp default.conf docker.laravel8.com.conf
vim docker.laravel8.com.conf
修改你自己的配置:
server_name docker.laravel8.com;
root /var/www/laravel_demo/public;
重啟nginx
docker-compose exec nginx bash
nginx -t
nginx -s reload
配置本地域名
sudo vim /etc/hosts
127.0.0.1 docker.laravel8.com
ping一下域名礁芦,能ping通說明成功了
ping docker.laravel8.com
訪問:http://docker.laravel8.com/
接下來就可以愉快地開發(fā)了
laradock默認(rèn)的mysql版本是latest,也就是mysql8悼尾,如果已經(jīng)安裝完mysql宴偿,要修改mysql的版本,則:
# 修改 .env 文件
MYSQL_VERSION=5.6.50
#停止mysql容器
docker-compose stop mysql
# 刪除舊數(shù)據(jù)庫數(shù)據(jù)
rm -rf ~/.laradock/data/mysql
# mysql存在時build诀豁,就是重建mysql,即構(gòu)建新 mysql
docker-compose build mysql
# 開始mysql nginx容器
docker-compose up -d nginx mysql
# 進(jìn)入mysql窥妇,查看現(xiàn)有 mysql 版本
docker-compose exec mysql bash
mysql -V
切換PHP版本
docker-compose build php-fpm workspace