docker簡介:
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
自從接觸docker以來,一直想實現這種玩法。如下是步驟
1:建立基于docker的mysql,參考文章
Mac上將brew安裝的MySql改用Docker執行
2:建立基于docker的php image
在當前目錄,建立Dockerfile,內容如下
FROM php:7.0-cliMAINTAINER Terry Zhang <zterry@qq.com>RUN docker-php-ext-install pdo_mysql mysqli
3.建立php鏡像
docker build -t php-mysql
4. 編寫php腳本,可以從mysql數據庫讀取數據:
<?php$host = 'mysql';$user = 'root';$pwd = 'password';$db = 'test';$mysqli = new mysqli($host, $user, $pwd, $db);if ($mysqli->connect_errno) {echo "Errno: " . $mysqli->connect_errno . "/n";}$sql = 'SELECT * FROM users';if ($res = $mysqli->query($sql)) {while ($row = $res->fetch_assoc()) {print_r($row);}}?>
5. 執行php的容器,參數如下:
bash docker run -it --rm -v (pwd):/var --link my-mysql-server1:mysql php-mysql:latest php /var/mysql.php
需要注意的地方是--link參數,這里調用的是名為my-mysql-server1的容器,其在php容器中的host為mysql??梢酝ㄟ^如下命令進行驗證:
docker run -it --rm php-mysql ping mysql
以上所述是小編給大家介紹的基于Docker的PHP調用基于Docker的Mysql數據庫,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
新聞熱點
疑難解答
圖片精選