Virtualbox Vagrant 本地开发太难用了,每次启动贼慢,今天环境崩了,打算用 Docker Desktop 试试看

Virtualbox Vagrant 本地开发太难用了,每次启动贼慢,今天环境崩了,打算用 Docker Desktop 试试看

  • 记录一下配置
代码已被折叠,点此展开
明天我们吃什么 悲哀藏在现实中 Tacks
讨论数量: 5

这个时代肯定是 docker 了

1年前 评论

讲真的 laravel 在 ui 和部署其实不需要搞那么复杂

顺带给你一个自用的 docker-compose.yml

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 9300:80
    volumes:
      - ./src:/var/www/html
    links:
      - redis
      - mysql 

  worker:
    build:
      context: .
      dockerfile: Dockerfile
    command: php artisan horizon
    volumes:
      - ./src:/var/www/html
    links:
      - redis
      - mysql
      - app     

  mysql:
    image: mysql:8.0-debian
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: laravel
    volumes:
      - ./tmp/mysql_data:/var/lib/mysql    

  redis:
    image: redis:6.0

  redis-insight:
    image: redislabs/redisinsight:latest
    ports:
      - "9301:8001"
    depends_on:
      - redis

  adminer:
    image: adminer
    ports:
      - 9302:8080
    environment:
      ADMINER_DEFAULT_SERVER: mysql
      ADMINER_DEFAULT_USERNAME: root
      ADMINER_DEFAULT_PASSWORD: root   

Dockerfile

# 基于官方 PHP 镜像作为基础镜像
FROM php:8.1-fpm

# 设置工作目录
WORKDIR /var/www/html

# 安装所需的依赖
RUN apt-get update && apt-get install -y \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip \
    && docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd \
    && pecl install redis \
    && docker-php-ext-enable redis

# 复制应用代码到容器中
COPY src .

# 安装 Composer 依赖
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer install --optimize-autoloader --no-dev

# 设置权限
RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache

# 暴露应用程序使用的端口
EXPOSE 80

# 启动应用程序
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=80"]

Makefile

create-project:
        docker run --rm -v $(CURDIR):/app composer create-project --prefer-dist laravel/laravel src

build: build-app build-work 

build-app:
        docker-compose build app

build-work:
        docker-compose build worker

start:
        docker-compose up -d

stop:
        docker-compose down

restart: stop start

test:
        @docker-compose run --rm app php artisan test

clean:
        docker-compose down --volumes

装好 docker desktop,保存这三个文件 用 make 命令就可以安装和启动了

1年前 评论
Tacks (楼主) 1年前
pardon110

file

1年前 评论