资讯专栏INFORMATION COLUMN

通过Laradock学Docker-配置篇

ad6623 / 935人阅读

摘要:通过学配置篇前言众所周知是当前最火热的容器引擎,因为沙盒特性,即插即用和快速方便的部署能力受到广大用户的喜爱。另一种方式就是今天我们介绍的,通过编排文件部署的方式,也就是方式运行容器。通过调用的进行容器应用的编排。

通过Laradock学Docker-配置篇 前言

众所周知docker是当前最火热的容器引擎,因为沙盒特性,即插即用和快速方便的部署能力受到广大用户的喜爱。

docker通常有两种执行方式,一种是直接通过命令行加参数拉取、运行容器,但因为用户的实际应用是复杂的,可能由多个容器组成,容器间存在关系,使用上可能需要重复多次部署。 因此,需要一定的编排部署能力来简化这个操作。

另一种方式就是今天我们介绍的,通过编排文件部署的方式,也就是compose方式运行容器。Compose运行需要有对应的yml文件以及Dockerfile。 通过调用Docker/Swarm的API进行容器应用的编排。

laradock就是一个利用Compose方式运行容器,功能完整的PHP集成研发环境。

环境依赖

Git

Docker >= 1.12

安装 安装Docker

大家可以去官网 ,或者国内的服务提供商(如Daocloud)下载相应操作系统的安装文件(或者在线安装),这里就不多叙述了。

如果是linux系统的话,安装完docker,还需要多带带安装docker-compose。
安装Laradock

用Git克隆下源码

git clone https://github.com/laradock/laradock.git

编辑配置文件

cp env-example .env

打开.env文件,修改公共变量APPLICATION的路径,默认路径是

APPLICATION=../

我们可以根据需要做相应修改,一般情况下,我们的主机上会有一个或多个项目,这样的话做如下设置:

APPLICATION=../www/

这是什么意思呢,我们来看下docker-compose.dev.yml文件

version: "2"

services:

### Applications Code Container #############################

    applications:
      volumes:
        - ${APPLICATION}:/var/www

我们看到我们配置了一个容器applications,它映射了一个数据卷,把本地的www目录,映射到了容器内的/var/www目录

查看相关编排文件配置

version: "2"

services:

### Applications Code Container #############################

    applications:
      image: tianon/true

### Workspace Utilities Container ###########################
### 为了排版,略做修改,省略了其它部分
    workspace:
      build:
        context: ./workspace
      volumes_from: applications
      
### PHP-FPM Container #######################################
### 为了排版,略做修改,省略了其它部分
    php-fpm:
      build:
        context: ./php-fpm
       
      volumes_from: applications
### NGINX Server Container ##################################
### 为了排版,略做修改,省略了其它部分
    nginx:
      build:
        context: ./nginx
      volumes_from: applications

我们看到,刚才在compose-dev.yml定义的容器applications基于镜像:tianon/true。

容器workspace是一个操作台容器,可以通过配置文件安装各种需要的软件如:node,yarn等等,它和php-fpm、nginx等容器都共用容器applications的数据卷,也就是说这几个写着volumes_from: - applications的容器中的路径/var/www都共用本机目录../www

编辑nginx主机配置文件laradock/nginx/sites

server {

    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    server_name localhost;
    root /var/www/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;
    }
}

因为laradock项目默认是为laravel框架配置的,所以我们看到网站的根目录默认设置为/var/www/public 。这里我们把根目录修改为我们需要的路径,如 /var/www/your-project-name/public 。如果你的项目不是基于laravel的,则可以把public去掉,或做相应修改。

如果你使用Chrome 63以上版本进行开发,就不要把server_name设置为.dev结尾为什么?。 你可以用 .localhost, .invalid, .test,  .example 等代替,个人建议用 .localhost ,这样就不用修改容器的主机的host文件了,他会默认指向IP127.0.0.1。

运行容器(在laradock目录下)

docker-compose up -d nginx

结语

到这里laradock的配置解析基本就介绍完毕了,小伙伴们赶快写个hellow world试试吧,下一篇文章我们来讲讲如何通过容器,让我们的网站支持https协议。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28225.html

相关文章

  • 通过LaradockDocker-配置

    摘要:通过学配置篇前言众所周知是当前最火热的容器引擎,因为沙盒特性,即插即用和快速方便的部署能力受到广大用户的喜爱。另一种方式就是今天我们介绍的,通过编排文件部署的方式,也就是方式运行容器。通过调用的进行容器应用的编排。 通过Laradock学Docker-配置篇 前言 众所周知docker是当前最火热的容器引擎,因为沙盒特性,即插即用和快速方便的部署能力受到广大用户的喜爱。 docker通...

    vspiders 评论0 收藏0
  • 自建 Laravel 的 Docker 开发环境

    摘要:好久没写东西,今天说一说怎么自建一个运行的环境。注该镜像是由社区联合又拍云与优帆远扬共同合作推出的公益项目,旨在为广大用户提供稳定和高速的国内镜像服务。通过自建开发环境过程中,也能让自己学到更多。接下来还会不断完善,最小化满足开发需要。 showImg(https://segmentfault.com/img/remote/1460000015722901); 好久没写东西,今天说一说...

    Yujiaao 评论0 收藏0
  • 自建 Laravel 的 Docker 开发环境

    摘要:好久没写东西,今天说一说怎么自建一个运行的环境。注该镜像是由社区联合又拍云与优帆远扬共同合作推出的公益项目,旨在为广大用户提供稳定和高速的国内镜像服务。通过自建开发环境过程中,也能让自己学到更多。接下来还会不断完善,最小化满足开发需要。 showImg(https://segmentfault.com/img/remote/1460000015722901); 好久没写东西,今天说一说...

    yanbingyun1990 评论0 收藏0
  • Mac使用dinghy和laradock搭建php运行环境

    摘要:配置例如文件的目录关系如下打开文件,修改的值为项目文件的相对路径,这个路径会映射到容器的目录上,注意任何修改配置文件都需要执行容器名字重新构建相关容器。 背景 每次更换一个工作用的电脑,都需要很长的时间来搭建本地的运行环境。有时候,为了安装一个扩展会折腾半天,而且可能需要安装多个版本的 php。有人说,集成运行环境不是很好嘛,一次搞定所有的要求。是的,对于新手来说,使用集成包就足够了。...

    ZoomQuiet 评论0 收藏0
  • 使用 docker 搭建 wordpress

    摘要:最终的实现是使用做代理,独立的容器,连接的做存储。修改代理相较于的配置,只是修改监听的域名以及转发的端口。显而易见使用就可以搭建容器最后一步,开启服务器宿主机端口结语打开网址,出现了配置界面。其他的数据表用户等不在讨论范围之内。 导语 这不是一篇正规搭建 wordpress 的文章,是基于上一篇的基础之上,进行的实现。最终的实现是使用 nginx 做代理,独立的 wordpress 容...

    Paul_King 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<