官方鏡像 php
編寫簡單的Hello world!mysql
1. 編寫Hello world! sql
2. 編寫Dockerfile docker
3. 構建並運行 數據庫
4. 直接使用PHP Docker鏡像運行PHP腳本 編程
構建本身的WordPress鏡像用於搭建我的博客站點 服務器
1. 準備MySQL數據庫 app
2. 跑起來 編程語言
修改PHP的文件上傳大小限制 wordpress
1. 修改Dockerfile,構建本身的鏡像
2. 經過「-v」參數將容器內指定路徑映射到主機目錄的自定義的配置文件
3. 經過「exec」命令進入容器內部修改相關配置
PHP(全名:PHP: Hypertext Preprocessor)是一種通用開源腳本語言。語法吸取了C語言、Java和Perl的特色,利於學習,使用普遍,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它能夠比CGI或者Perl更快速地執行動態網頁。用PHP作出的動態頁面與其餘的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比徹底生成HTML標記的CGI要高許多;PHP還能夠執行編譯後代碼,編譯能夠達到加密和優化代碼運行,使代碼運行更快。
官方鏡像地址:https://hub.docker.com/_/php
代碼及其簡單,以下所示:
<?php echo "Hello world"; ?>
Dockerfile文件以下所示:
#鏡像版本見:https://hub.docker.com/_/php FROM php:7.3-cli-alpine3.9 COPY . /usr/src/myapp WORKDIR /usr/src/myapp #運行php腳本 CMD [ "php", "./test.php" ]
這裏之因此選擇了alpine的鏡像,主要是體積更小:
構建命令以下所示:
docker build --rm -f "dockerfile" -t phptest1:latest .
運行:
在平常開發中,若是咱們只是編寫簡單的PHP腳本用於簡單的實踐,那麼咱們徹底能夠
直接使用PHP Docker鏡像來運行PHP腳本,避免反覆的構建過程,從而加速開發:
docker run -it --rm ` --name php-running-script ` -v D:\temp\php:/usr/src/myapp ` -w /usr/src/myapp ` php php test.php
運行命令參數說明你們能夠回顧前面的內容,以上命令主體操做以下:
WordPress是使用PHP語言開發的博客平臺,用戶能夠在支持PHP和MySQL數據庫的服務器上架設屬於本身的網站。也能夠把 WordPress看成一個內容管理系統(CMS)來使用。
WordPress是一款我的博客系統,並逐步演化成一款內容管理系統軟件,它是使用PHP語言和MySQL數據庫開發的,用戶能夠在支持 PHP 和 MySQL數據庫的服務器上使用本身的博客。
WordPress官方鏡像地址爲:https://hub.docker.com/_/wordpress
接下來,咱們就基於官方鏡像開始搭建。
咱們先須要準備一個MySQl數據庫,你們可使用現成的MySQL數據庫,也能夠參考數據庫容器化的相關章節來進行搭建。
參考命令以下所示:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
注意:MySQL容器建立完成後,須要對root帳號進行設置纔可以經過數據庫鏈接訪問MySQL,具體見數據庫容器化相關章節。
接下來,咱們就能夠運行WordPress鏡像了,參考命令以下所示:
docker run ` --name myblog ` --link mysql:wordpressdb ` -e WORDPRESS_DB_HOST=wordpressdb:3306 ` -e WORDPRESS_DB_PASSWORD=123456 ` -e WORDPRESS_DB_NAME=wordpress ` -p 3000:80 ` wordpress
如上述命令,咱們基於WordPressWordPress鏡像建立了一個名爲myblog的容器,外部端口爲3000,容器端口爲80。而後使用「--link」參數將該容器和mysql容器(上一步建立的MySQL容器)創建了連接,是其可否訪問mysql容器,而且創建了別名wordpressdb。接下來,經過環境變量設置了WordPress的MySQL的一些參數,好比數據庫服務器、密碼、庫名稱。運行結果以下圖所示:
接下來,咱們訪問咱們的博客網址「http://localhost:3000/」試試:
通過一些簡單設置,咱們又爲WordPress添加了一個即將關站的博客站:
基於Docker運行PHP應用,常常會遇到文件上傳大小限制的問題。好比剛剛部署的WordPress我的博客站點,若是咱們上傳一些我的主題,很容易就突破了PHP的文件上傳大小限制(默認2M,對應設置key爲「upload_max_filesize」),這時咱們有如下方式進行處理:
使用本身的php配置文件(php.ini)替換默認的php配置文件。如基於wordpress鏡像構建本身的鏡像,添加相似於「COPY ./config/php.ini /usr/local/etc/php/conf.d/」的複製命令。
例如「-v d:/tmp/php/php.ini:/usr/local/etc/php/conf.d/uploads.ini」。