PHP - Docker开发库社区Docker容器

卡夫的Mac 05 - Mac下使用docker-compose

2017-08-23  本文已影响291人  7c03aed0f01f

视频地址

学徒卡夫 - 卡夫的Mac 05 - Mac下使用Docker-composer配置PHP环境
https://www.bilibili.com/video/av13703830/

以后应该用不到之前的镜像与容器,所以这里我清空下

docker stop 容器ID/Name

# 删除所有容器
docker rm `docker ps -a -q`

# 删除所有的镜像
docker rmi $(docker images -q)

安装 Docker

https://www.docker.com/docker-mac

安装 docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

使用LaraDock项目搭建PHP开发环境

LaraDock 官网
http://laradock.io/introduction/

什么是LaraDock

LaraDock 和 Laravel Homestead 类似,只不过运行在 Docker 而非 Vagrant 中。LaraDock 可以让我们在数秒之内轻松在 Docker 中运行 Laravel 应用。

LaraDock 致力于让开发过程变得简单,包含了一个已经预包装好的Docker映像以便为我们提供一流的开发环境而不需要再手动安装PHP、Nginx、MySQL、Redis以及其他运行Laravel应用可能要用到的软件或工具。

  1. 下载源码
cd ~
git clone https://github.com/Laradock/laradock.git
  1. 配置项目路径
mkdir -p wwwroot  # 创建目录
mkdir -p wwwroot/data  # 创建网站目录
mkdir -p wwwroot/public   # 创建用于 HTTP服务软件的公共目录
  1. 修改 .env 配置文件
cd ~/laradock
# 拷贝一份正式的配置文件
cp env-example .env
vi .env
# 修改配置项
APPLICATION=../wwwroot  #项目目录
DATA_SAVE_PATH=../wwwroot/data  #数据目录,比如mysql
WORKSPACE_INSTALL_NODE=true     #node 开启
PHP_FPM_INSTALL_ZIP_ARCHIVE=true    #zip 开启
PHP_FPM_INSTALL_OPCACHE=false       #opcache 生产环境再打开
  1. 实例化容器
# 运行nginx、mysql容器、(PHP容器自动运行)
# -d 是不监听,后台运行的意思
docker-compose up -d nginx mysql phpmyadmin

配置一个Laravel项目测试

vi /etc/host
# 加入
127.0.0.1   laravel.cc
# 复制一份Laravel项目
/Users/kafu/wwwroot/laravel

加载依赖

# 进入 workspace 容器(也叫工作空间容器)
docker-compose exec workspace bash
# 更换composer源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 进入项目目录
cd laravel/
# composer 更新项目
composer install --no-plugins --no-scripts

添加 laravel项目的 nginx配置文件

# vi ~/laradock/nginx/sites/laravel.cc.conf
server {
    listen 80;
    listen [::]:80;
    server_name laravel.cc;
    root /var/www/laravel/public;
    index index.php index.html index.htm;
    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }
    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /\.ht {
        deny all;
    }
    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }
    error_log /var/log/nginx/laravel_error.log;
    access_log /var/log/nginx/laravel_access.log;
}
# 退出容器
exit
# 重启 nginx 容器,应用配置
docker-composer restart nginx
# 访问测试域名

http://laravel.cc

注释

# 有些容器 bash进不去 就进sh,比如
docker-compose exec pgadmin sh
上一篇下一篇

猜你喜欢

热点阅读