您现在的位置是:首页 >其他 >Laradock 安装配置网站首页其他

Laradock 安装配置

John_rush 2024-05-30 13:35:54
简介Laradock 安装配置

Laradock 是 Docker 的一个完整的PHP开发环境。

  • https://laradock.io/

安装配置

clone库

在自定义目录下拉取 laradock 代码

$ git clone https://github.com/Laradock/laradock.git

laradock 和项目目录关系可以同级:

* laradock
* project-1
* project-2
配置文件

这里以配置多个web项目为例进行配置

进入 laradock 目录将 env-example 重命名为 .env

$ cp .env.example .env

这个是用于指定你的应用程序的目录,默认是在 Laradock 的上一层:

APP_CODE_PATH_HOST=../

记得最后要以 / 结尾。

构建容器

根据需要构建,如果没有用到 redis 和 phpmyadmin,可以从命令中去掉

$ docker-compose up -d nginx mysql phpmyadmin redis workspace

PHP

修改PHP版本

修改.env配置文件版本

PHP_VERSION=7.3

最后重建镜像

$ docker-compose build php-fpm

修改PHP-CLI版本

修改.env配置文件PHP_VERSION

PHP_VERSION=7.3

最后重建图像,执行php-cli是在workspace镜像的容器中所以需要重新构建workspace

$ docker-compose build workspace

Nginx

站点配置
  • 进入nginx配置文件目录:cd nginx/sites

  • 生成该站点的配置文件:cp laravel.conf.example laradmin.conf

  • 配置该文件,相关配置参考nginx的配置:

    server_name laradmin.test;
    # 开头必须是/var/www/,映射.env文件中APPLICATION配置对应的目录
    root /var/www/laradmin/public;
    
  • 执行以下命令:

    $ docker-compose build nginx
    $ docker-compose restart nginx
    
  • 修改 /etc/hosts 文件内容:sudo vim /etc/hosts

    127.0.0.1 laradmin.test
    

Mysql

默认情况下使用MySQL 最新版本运行,用户和密码默认都是 root

修改版本
  • 修改.env laradock配置文件 MYSQL_VERSION=5.7,具体可用版本见:https://store.docker.com/images/mysql
  • 重新编译 docker-compose build mysql
  • 如果已经运行则重新启动 docker-compose restart mysql

MacOS M1 buiild 时候如果出现报错:

[+] Building 0.2s (3/3) FINISHED
 => [internal] load build definition from Dockerfile                                                         
 => => transferring dockerfile: 32B                                                                           
 => [internal] load .dockerignore                                                                             
 => => transferring context: 2B                                                                               
 => ERROR [internal] load metadata for docker.io/library/mysql:5.7                                           
------
 > [internal] load metadata for docker.io/library/mysql:5.7:
------
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: no match for platform in manifest sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94: not found

可以修改 docker-compose.yml新增 platform: linux/amd64 配置

### MySQL ################################################
    mysql:
      build:
        context: ./mysql
        args:
          - MYSQL_VERSION=${MYSQL_VERSION}
      environment:
        - MYSQL_DATABASE=${MYSQL_DATABASE}
        - MYSQL_USER=${MYSQL_USER}
        - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
        - TZ=${WORKSPACE_TIMEZONE}
      volumes:
        - ${DATA_PATH_HOST}/mysql:/var/lib/mysql
        - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
      ports:
        - "${MYSQL_PORT}:3306"
      networks:
        - backend
      platform: linux/amd64
其他用法
# 进入 Mysql 容器
$ docker-compose exec mysql bash

# root 登陆
$ mysql -uroot -proot

# 其他用户
$ mysql -udefault -psecret

# 查看日志
$ docker-compose logs mysql

mysql 数据目录:~/.laradock/data/mysql

phpMyAdmin

phpmyadmin使用该docker-compose up命令运行phpMyAdmin

$ docker-compose up -d mysql phpmyadmin

打开浏览器并访问端口8080上的localhost : http://localhost:8080,登录信息如下

host: mysql
user: root
password: root
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。