基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫(kù)
docker簡(jiǎn)介:
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。
自從接觸docker以來(lái),一直想實(shí)現(xiàn)這種玩法。如下是步驟
1:建立基于docker的mysql,參考文章
Mac上將brew安裝的MySql改用Docker執(zhí)行
2:建立基于docker的php image
在當(dāng)前目錄,建立Dockerfile,內(nèi)容如下
FROM php:7.0-cli MAINTAINER Terry Zhang <zterry@qq.com> RUN docker-php-ext-install pdo_mysql mysqli
3.建立php鏡像
docker build -t php-mysql
4. 編寫php腳本,可以從mysql數(shù)據(jù)庫(kù)讀取數(shù)據(jù):
<?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. 執(zhí)行php的容器,參數(shù)如下:
bash docker run -it --rm -v (pwd):/var --link my-mysql-server1:mysql php-mysql:latest php /var/mysql.php
需要注意的地方是--link參數(shù),這里調(diào)用的是名為my-mysql-server1的容器,其在php容器中的host為mysql。可以通過(guò)如下命令進(jìn)行驗(yàn)證:
docker run -it --rm php-mysql ping mysql
以上所述是小編給大家介紹的基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫(kù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 利用docker搭建php7和nginx運(yùn)行環(huán)境全過(guò)程(官方鏡像)
- 搭建基于Docker的PHP開(kāi)發(fā)環(huán)境的詳細(xì)教程
- Docker搭建 Nginx+PHP+MySQL 環(huán)境并部署WordPress實(shí)踐
- 利用Docker制作Nginx+PHP鏡像的步驟詳解
- docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法
- Docker 如何布置PHP開(kāi)發(fā)環(huán)境
- docker完整配置nginx+php+mysql的方法步驟
- 詳解Docker創(chuàng)建php開(kāi)發(fā)環(huán)境遇到的權(quán)限問(wèn)題解決方案
- Docker搭建自己的PHP開(kāi)發(fā)環(huán)境
- docker?中搭建php環(huán)境經(jīng)驗(yàn)分享
相關(guān)文章
使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟
這篇文章主要介紹了使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
云原生自動(dòng)化應(yīng)用于docker倉(cāng)庫(kù)私有憑據(jù)secret創(chuàng)建
這篇文章主要為大家介紹了云原生自動(dòng)化應(yīng)用于docker倉(cāng)庫(kù)私有憑據(jù)secret創(chuàng)建,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法
這篇文章主要介紹了Docker實(shí)現(xiàn)進(jìn)入容器內(nèi)部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Docker實(shí)現(xiàn)Mariadb分庫(kù)分表及讀寫分離功能
這篇文章主要給大家介紹了關(guān)于Docker實(shí)現(xiàn)Mariadb分庫(kù)分表及讀寫分離功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
刪除docker容器中內(nèi)容后打包鏡像不變小問(wèn)題及解決
文章討論了在Docker中處理大壓縮包時(shí)遇到的問(wèn)題,以及如何通過(guò)分層存儲(chǔ)和使用`docker load`與`docker import`命令來(lái)解決鏡像大小過(guò)大的問(wèn)題2025-03-03

