利用 PHP + MySQL 如何才能開發 Docker 化應用?

來源:互聯網
上載者:User

20141206234218_104.png (170.93 KB, 下載次數: 37)

下載附件

2015-7-30 17:39 上傳

在程式開發中,只會一門技術肯定是不行滴,很多應用的開發都需要運用到多門技術。今天我們就來和大家聊聊,如何基於LAMP 技術棧,用 Docker 鏡像的方式搭建一個 Linux + Apache + MySQL + PHP 的應用 。 1、建立 php開發 應用程式容器首先,選擇官方的 PHP 鏡像作為項目的基礎鏡像。dockerfileFROMdaocloud.io/php:5.6-apache 接著,用官方 PHP 鏡像內建命令 docker-php-ext-install 安裝 PHP 的 MySQL 擴充依賴。 dockerfileRUNdocker-php-ext-install pdo_mysql 依賴包通過 docker-php-ext-install 安裝,如果依賴包需要配置參數則通過 docker-php-ext-configure 命令。 安裝 pdo_mysql PHP 擴充。然後,將代碼複製到目標目錄。 dockerfileCOPY ./var/www/html/ 因為基礎鏡像內已經聲明了暴露連接埠和啟動命令,此處可以省略。 至此,包含 PHP 應用開發的 Docker 容器已經準備好了。PHP 代碼中訪問資料庫所需的參數,是通過讀取環境變數的方式聲明的。 ```php $serverName =env("MYSQL_PORT_3306_TCP_ADDR", "localhost");$databaseName = env("MYSQL_INSTANCE_NAME","homestead");$username = env("MYSQL_USERNAME","homestead");$password =env("MYSQL_PASSWORD", "secret"); /*** 擷取環境變數* @param $key* @param null$default* @returnnull|string*/ functionenv($key, $default = null){$value =getenv($key);if ($value ===false) {return $default;www.maiziedu.com}return $value;} ```為什麼要這樣做?因為在 Docker化應用開發的最佳實務中,通常將有狀態的資料類服務放在另一個容器內運行,並通過容器特有的 link 機制將應用程式容器與資料容器動態串連在一起。 2、綁定 本地MySQL 資料容器首先,需要建立一個 MySQL 容器。bashdocker run--name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:5.5 之後,通過 Docker 容器間的 link 機制,便可將 MySQL 的預設連接埠(3306)暴露給應用程式容器。bashdocker run--name some-app --link some-mysql:mysql -d app-that-uses-mysql 3、綁定雲端MySQL 資料服務比起本地建立,在雲端建立和綁定MySQL 資料服務會更簡單。a、在 GitHub 上 Fork DaoCloud/php-apache-mysql-sample 或者添加自己的代碼倉庫。b、註冊成為 DaoCloud 使用者。c、在 DaoCloud 「控制台」中選擇「代碼構建」。d、建立新項目,選擇代碼源,開始構建鏡像。e、在「服務整合」建立 MySQL 服務執行個體。f、將構建的應用鏡像關聯 MySQL 服務執行個體並部署在雲端。 以上就是通過PHP + MySQL 的實現Docker 化應用的具體操作步驟,還有不清楚的親,可以自己實驗一把。


推薦學習:php視頻教程 http://www.maiziedu.com/course/php/
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.