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 daemon 正在運行中。

此外,執行 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 上編輯 !