项目结构
该目录位于~下
program
├── develop
├── laradock(非手动创建)
└── www
拉取项目
在~/program/develop下,从 github 上拉取 laradock 项目
git clone https://github.com/laradock/laradock.git
如果遇到网络问题 可以设置代理
#设置http代理
git config --global https.proxy http://代理:xxxx
#设置https代理
git config --global https.proxy http://代理:xxxx
#取消http代理
git config --global --unset http.proxy
#取消https代理
git config --global --unset https.proxy
进入~/program/develop/laradock目录将 .env-example 重命名为 .env:
cp .env.example .env
.env文件需要修改的地方:
#这个是用于指定你的应用程序的目录,默认是在 Laradock 的上一层:
APP_CODE_PATH_HOST=../www
#php版本 按需修改
PHP_VERSION=8.3
#mysql版本 按需修改
MYSQL_VERSION=8.4
#在文件尾部加入代理地址
HTTP_PROXY=代理:xxxx
HTTPS_PROXY=代理:xxxx
进入~/program/develop/workspace 修改Dockerfile文件
#在FROM关键字后加入配置
ENV HTTP_PROXY="http://代理:xxxx"
#curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash这一行会报错,依旧是网络问题
#以下两种方式都可以 任选一种 或者在本机下载下来后传到oss 更改下载链接
curl --proxy 代理:xxxx -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
curl -x 代理:xxxx -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
回到~/program/develop/laradock原神启动
docker-compose up -d nginx php-fpm mysql redis workspace
原神启动成功!!
每次启动的命令太长了且不好记 所以可以使用shell脚本启动
将laradock.sh放到任意位置 可以是~/下 也可以是~/program/下
#!/bin/bash
cd ~/program/develop/laradock
print_style() {
if [ "$2" == "info" ]; then
COLOR="96m"
elif [ "$2" == "success" ]; then
COLOR="92m"
elif [ "$2" == "warning" ]; then
COLOR="93m"
elif [ "$2" == "danger" ]; then
COLOR="91m"
else
COLOR="0m"
fi
STARTCOLOR="\e[$COLOR"
ENDCOLOR="\e[0m"
printf "$STARTCOLOR%b$ENDCOLOR" "$1"
}
display_options() {
printf "Available options:\n"
print_style " up" "success"
printf "\t Starts containers\n"
print_style " down" "success"
printf "\t Stops containers\n"
print_style " bash" "success"
printf "\t Opens bash on the workspace with user laradock.\n"
}
if [[ $# -eq 0 ]]; then
print_style "Missing arguments.\n" "danger"
display_options
exit 1
fi
if [ "$1" == "up" ]; then
if [ $# -gt 1 ]; then
shift
SERVICES="$*"
else
SERVICES="nginx php-fpm mysql redis workspace"
fi
print_style "Starting Docker Compose\n" "info"
print_style "Your services: ${SERVICES}\n" "success"
docker-compose up -d ${SERVICES}
elif [ "$1" == "stop" ]; then
print_style "Stopping Docker Compose\n" "info"
docker-compose stop
elif [ "$1" == "down" ]; then
print_style "Downing Docker Compose\n" "info"
docker-compose down
elif [ "$1" == "bash" ]; then
docker-compose exec --user=laradock workspace bash
else
print_style "Invalid arguments.\n" "danger"
display_options
exit 1
fi
从此以后你的启停命令就变成了以下几个:
# 不添加参数将默认启动 nginx, mysql, php-fpm, redis 容器
bash ./laradock.sh up
# 也可以根据需要设置需要启动的容器
bash ./laradock.sh up nginx phpmyadmin
# 停止容器
bash ./laradock.sh stop
# 进入 laradock workspace
bash ./laradock.sh bash
评论区