增加一个自定义网卡 'mynetwork' 是自定义名称,下文中两次使用,注意统一替换
docker network create --subnet=172.172.0.0/24 mynetwork
在项目根目录添加 docker-compose.yml 文件
networks:
default:
external:
name: mynetwork
services:
api:
image: leftsky/php
ports:
- 80:80
volumes:
- "./:/var/www"
networks:
default:
ipv4_address: 172.172.0.10
在public文件夹下添加伪静态文件 n.htaccess
location / {
try_files $uri $uri/ /index.php$is_args$query_string;
}
运行docker-compose up -d
这样laravel就跑起来了
需要启动 laravel 定时器, 在容器或Dockerfile 文件中执行
echo "* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1" >> /etc/crontabs/root
注:mysql 和 redis 容器创建
networks:
default:
external:
name: mynetwork
services:
mysql:
image: mysql:5.7
ports:
- 3306:3306
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: root
volumes:
- "C:/Docker/mysql:/var/lib/mysql"
networks:
default:
ipv4_address: 172.172.0.2
redis:
image: redis
ports:
- 6379:6379
networks:
default:
ipv4_address: 172.172.0.3
执行docker-compose up -d
后mysql和redis就起来了
mysql 和 redis 相对laravel容器的连接地址
如文件内所写
mysql 文件储存地址如 volumes 所写
本机【宿主机】连接mysql和redis用localhost即可