首先安装 laradock 必须先安装 docker 以及 docker-compose
一、安装docker
安装docker 我使用 Docker 官方提供的一套便携的安装脚本
curl -fsSL get.docker.com -o get-docker.sh
chmod 755 get-docker.sh
使用这条命令修改执行权限
使用这条命令下载安装脚本
接下来运行安装脚本,并添加 参数 --mirror 选项使用国内源进行安装
sudo sh get-docker.sh --mirror Aliyun
等待命令执行成功
启动docker
开机启动
sudo systemctl enable docker
启动 docker
sudo systemctl start docker
查看启动状态
测试docker 是否安装正确
如果能正常运行 hello-world 镜像证明安装成功
配置镜像加速器
新建 /etc/docker/daemon.json 文件 写入如下内容
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
sudo systemctl daemon-reload | sudo systemctl restart docker
使用 docker info 命令查看是否设置成功
看到 Registry Mirrors已经变成我们设置的内容,代表成功了
这里docker就安装完成,接下来我们安装 Portainer
安装 Portainer
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
- 创建数据卷
docker volume create portainer_data
- 启动容器
docker 里面的镜像都可以在 docker镜像网站 这个网站上面找到
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:latest
因为我使用的是 中文汉化版本 所以在运行命令的基础上 再挂载多了一个汉化的数据卷,完整的命令如下:(没有/data/portainer/portainer-cn/public这里目录不要执行)
docker run -d -p 9005:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /data/portainer/portainer-cn:/public portainer/portainer:1.20.1
这里我不想用默认端口,就换了一下9005端口哈
设置密码之后 点击 创建用户 ,创建完之后 ,选择 本地 docker 环境 其他三个选项可自行研究
点击 连接 即可进入
这里可以看到安装的容器,镜像,堆栈,网络等等
到这里的portainer就安装完毕了,下一步我们安装 docker-compose
安装 docker-compose
安装 docker-compose 这里我使用 pip3 安装
apt install python3-pip
安装docker-compose
sudo pip3 install -U docker-compose
可以看到类似如下输出,说明安装成功。
使用 docker-compose --verison 查看
能正常输出即可
接下来 就可以安装 laradock 了
安装 laradock
使用 laradock的官方文档 下载安装脚本
git clone github.com/Laradock/la…
下载时间有点长,慢慢等待
下载完成
cd 进入 目录
cd laradock
复制配置文件
cp env-example .env
在顶部,将 APP_CODE_PATH_HOST 变量更改为自己的项目路径
下载 larabbs 项目
这里我下载了laravel-bbs项目 首先新建文件夹 project 克隆项目
复制 larabbs 项目配置文件
cp .env.example .env
修改 larabbs 项目权限
chmod -R 777 larabbs
完成之后下载项目告一段落
替换laradock的配置文件项目路径为 自己服务器实际的项目路径
文件结构如下
* laradock
* project-z
配置完成之后 进入 laradock 文件夹中,执行命令
docker-compose up -d nginx mysql phpmyadmin redis workspace
这里只启动了nginx,mysql,redis等只是laravel项目中需要用到的镜像
laradock还包含有
Jenkins -- 自动化部署
SonarQube -- 代码检查
ElasticSearch -- 搜索引擎
这些也都十分值得尝试,可以自己慢慢研究一番
执行启动过程中,如有遇到下载错误的,重复执行启动命令即可
接下来 配置项目站点。进入 cd 到 laradock项目中
cd /laradock/nginx/sites
复制一份laravel站点的配置文件
cp laravel.conf.example laravel-bbs.conf
修改 复制的配置文件 root 路径
接下来重启 laradock_nginx_1 容器
紧接着进入到 laradock_workspace_1 容器中
点击控制台 -- 点击连接
这里需要执行composer install 安装laravel项目所需要的包
composer install
接着执行
php artisan key:generate
接着登录 phpmyadmin
用 域名或者ip 加上8081 端口号即可打开登录界面
服务器写入mysql
mysql 的root 密码可以查看容器的启动的环境变量
登录进去之后,新建数据库,名称随意,开心就好
修改larabbs 配置文件
修改mysql 和 redis 的主机地址为 容器的ip地址,因为都属于同一堆栈,同一的网络环境中,所以网络可以互通
修改完之后 重启 laradock_nginx_1 laradock_php-fpm_1 laradock_workspace_1 三个容器
回到 laradock_workspace_1 容器的控制台界面,执行数据迁移文件,并利用种子生产数据
php artisan migrate --seed
接着就可以访问项目试试了,没想到报错了,查了一下是直接用ip访问报错
- 想了一下,不用ip访问也是可以的,本地配置一下hosts代理到我的主机地址就可以了
- 终于项目完美运行起来了
注意
如果是 windows+虚拟机+共享文件夹,启动的laradock 时候需要修改配置文件,将共享文件夹的路径挂载到容器里面
vim docker-compose.yml
php-fpm,nginx,workspace 三个容器的环境都需要配置