首先安装compose
#下载并移动到/usr/local/bin目录下
curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
#赋予可执行权限
chmod +x /usr/local/bin/docker-compose
然后执行docker-compose --version
如果能看显示对应的版本号说明安装成功
再一个空目录下创建nginx 和php两个目录,首先进入nginx目录并创建一个Dockerfile文件
cd nginx
vi Dockerfile
在Dockerfile文件中写入如下指令
FROM nginx:latest
COPY default.conf /etc/nginx/conf.d/default.conf
保存Dockerfile文件后再创建一个default.conf内容为
#以下内容仅供参考,请按实际环境定制
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm index.php;
location ~ \.php$ {
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
}
保存文件后再执行 cd ../php
进入php目录 编辑Dockerfile文件(主要增加了一些常用扩展,请按实际情况定制) 内容如下
FROM php:7.3-fpm
RUN docker-php-ext-install pdo pdo_mysql mysqli \
&& pecl install redis-4.2.0 && docker-php-ext-enable redis
然后保存,cd ..
回到外层目录创建docker-compose.yml文件
vi docker-compose.yml
并键入如下内容
version: '3'
networks:
dev-net:
driver: bridge
services:
mysql:
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
networks:
- dev-net
nginx:
build: nginx
restart: always
ports:
- 80:80
volumes:
- /home/wwwroot/default/:/usr/share/nginx/html
depends_on:
- mysql
- redis
- php-fpm
networks:
- dev-net
php-fpm:
build: php
volumes:
- /home/wwwroot/default/:/usr/share/nginx/html
networks:
- dev-net
redis:
image: redis:latest
networks:
- dev-net
保存后执行
docker-compose up -d
等待完成自动构建即可。