4 个关注者

Yii 和 Docker

对于开发和部署 Yii 应用程序,可以将它们作为 Docker 容器运行。容器就像一个轻量级的隔离虚拟机,它将其服务映射到主机的端口,例如,容器中端口 80 上的 Web 服务器在您的(本地)主机上端口 8888 上可用。

容器可以解决许多问题,例如在开发人员的计算机和服务器上拥有相同的软件版本、快速部署或在开发时模拟多服务器架构。

您可以在 docker.com 上了解更多关于 Docker 容器的信息。

要求

  • docker
  • docker-compose

访问 下载页面 获取 Docker 工具。

安装

安装后,您应该能够运行 docker ps 并看到类似于以下的输出

CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS

这意味着您的 Docker 守护进程已启动并正在运行。

此外,运行 docker-compose version,您的输出应该看起来像这样

docker-compose version 1.20.0, build unknown
docker-py version: 3.1.3
CPython version: 3.6.4
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017

使用 Compose,您可以配置和管理应用程序所需的所有服务,例如数据库和缓存。

资源

使用

Docker 的基本命令是

docker-compose up -d

在后台启动堆栈中的所有服务

docker-compose ps

列出正在运行的服务

docker-compose logs -f

持续查看所有服务的日志

docker-compose stop

优雅地停止堆栈中的所有服务

docker-compose kill

立即停止堆栈中的所有服务

docker-compose down -v

停止并删除所有服务,**注意,当不使用主机卷时,数据会丢失**

在容器中运行命令

docker-compose run --rm php composer install

在新容器中运行 composer 安装

docker-compose exec php bash

正在运行php 服务中执行 bash

高级主题

Yii 框架测试

您可以像 这里 所述的那样,运行 Yii 本身的 Docker 化框架测试。

数据库管理工具

当运行 MySQL 作为 (mysql) 时,您可以将 phpMyAdmin 容器添加到堆栈中,如下所示

    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        ports:
            - '8888:80'
        environment:
            - PMA_ARBITRARY=1
            - PMA_HOST=mysql
        depends_on:
            - mysql

发现错别字或您认为此页面需要改进?
在 github 上编辑它 !