使用Dockerfile+Compose搭建dnmp开发环境

/ 0评 / 1

[TOC]

说明

  1. Dockerfile: 一个用来构建镜像的文本文件
  2. Compose: 用于定义和运行多容器 Docker 应用程序的工具

搭建环境

目录结构

dnmp[脚本项目名称目录]
    |-- Dockerfile [存放Dockerfile文件的目录]
        |-- Dockerfile-php [php镜像的Dockerfile文件]
        ...
    |-- docker-compose.yml [compose文件] 

注:如果PHP、MySQL、NGINX的相应数据需要存在本地,那么其目录,根据实际情况创建。并在docker-compose.yml文件中的 volumes 配置项中体现。

脚本内容

  1. Dockerfile-php
FROM php:7.2-fpm
RUN /usr/local/bin/docker-php-ext-install pdo pdo_mysql
  1. docker-compose.yml
# lnmp 配置
version: '3'
services:
  php:
    build:
      context: ./Dockerfile
      dockerfile: Dockerfile-php
    container_name: "php-fpm7.2"
    expose:
      - "9000"
    volumes:
      - "D:\\dnmp\\www:/www"
  nginx:
    image: "nginx:latest"
    container_name: "nginx"
    ports:
      - "80:80"
    volumes:
      - "D:\\dnmp\\www:/usr/share/nginx/html"
      - "D:\\dnmp\\nginx\\conf\\conf.d:/etc/nginx/conf.d"
  mysql:
    image: "mysql:5.7"
    container_name: "mysql5.7"
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - "3306:3306"
    volumes:
      - "D:\\dnmp\\mysql:/var/lib/mysql"

运行脚本

在脚本目录中运行命令: docker-compose up
后台执行该服务可以加上 -d 参数: docker-compose up -d

Docker-compose命令

命令 作用
docker-compose up -d 后台创建并运行容器
docker-compose start 开始服务
docker-compose stop 停止服务
docker-compose restart 重启服务
docker-compose pause nginx 暂停nginx容器
docker-compose unpause nginx 恢复nginx容器
... ...

发表评论

电子邮件地址不会被公开。 必填项已用*标注