docker compose构建本地开发环境

docker compose相关

命令语法 : https://yeasy.gitbooks.io/docker_practice/compose/commands.html
模板文件语法 : https://yeasy.gitbooks.io/docker_practice/compose/compose_file.html

docker compose文件

docker compose会自动创建一个network(默认名称为 : compose配置文件所在目录名_default;比如目录名称为xxx,则network名称为 xxx_default),并将compose中的服务加入到该network中。
可以使用 --project-name (可简写成 -p ) 参数或使用 COMPOSE_PROJECT_NAME 环境变量来自定义networ名称。
在docker compose配置文件中的服务可以直接使用服务名称进行访问,比如在web中可以使用php-fpm:9000访问php-fpm的php-fpm服务,参见下一个部分的nginx配置文件

version: '3'


services:
  web:
    image: nginx:latest
    volumes:
      - f:/git_project:/usr/share/nginx/html
      - f:/docker/php-docker/nginx-conf/conf.d/:/etc/nginx/conf.d/
    ports:
      - '80:80'
    depends_on:
      - php-fpm

  php-fpm:
    image: "scchary/php:1.2"
    volumes:
      - f:/git_project:/usr/share/nginx/html

nginx配置文件

server {
        listen        80;
        server_name  xxx.net;
        root   "/usr/share/nginx/html/xxx.net/frontend/web";
        location / {
        index index.php;
        if ( !-e $request_filename )
        {
            rewrite ^/(.*)$ /index.php?r=$1 last;
        }
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   php-fpm:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

启动

前台启动,可以看到一些信息,便于调试 : docker-compose -f web-compose.yml up
后台启动 : docker-compose -f web-compose.yml up -d

标签: docker, docker compose

添加新评论