教你在docker?中搭建?PHP8?+?Apache?環(huán)境的過程
鏡像介紹
PHP8
+Apache
的官方倉庫:https://hub.docker.com/_/php?tab=tags
- 在該倉庫如下位置搜索
Apache
相關(guān)的鏡像
我下載的是下面這個(gè), PHP
版本是 8.0.6
具體操作步驟
- 下載鏡像:
docker pull php:apache-buster
, 下載下來后使用docker images
可以查看到如下信息:
- 創(chuàng)建容器:
docker run -itd --name php -p 80:80 -v /Users/xiaosheng/docker:/var/www/html -v /Users/xiaosheng/docker/etc:/usr/local/etc -v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled php:apache-buster
命令詳解:
--name php
:php
表示創(chuàng)建出來的鏡像名稱-p 80:80
: 表示本機(jī)的 80 端口映射到容器內(nèi)的 80 端口, 其中第一個(gè) 80 是本機(jī)的-v /Users/xiaosheng/docker:/var/www/html
: 數(shù)據(jù)卷掛載, 將本機(jī)的代碼文件夾映射到容器內(nèi)的代碼文件夾, 冒號(hào)前面的是本機(jī)的文件夾地址-v /Users/xiaosheng/docker/etc:/usr/local/etc
: 將容器內(nèi)PHP
的配置文件映射到本機(jī), 這樣方便修改配置文件, 冒號(hào)前面的是本地的文件夾地址-v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled
: 將容器內(nèi)Apache
站點(diǎn)的配置文件映射到本地, 方便添加和修改站點(diǎn)配置文件, 冒號(hào)前面的是本地的文件夾地址php:apache-buster
: 表示的是使用哪個(gè)鏡像來創(chuàng)建容器, 即 鏡像名稱:tag名稱
以上步驟就可以創(chuàng)建出來一個(gè)容器, 使用 docker ps -a
來查看容器
PHP 安裝擴(kuò)展
以安裝 pdo-mysql 擴(kuò)展為例
- 容器中 PHP 沒有 MySQL 的擴(kuò)展, 所以需要自己手動(dòng)下載, 下載步驟可以參考該鏈接
https://www.yoyoask.com/?p=122
docker-php-source
: 在/usr/src
目錄下創(chuàng)建出來php
文件夾- 進(jìn)入
/usr/src/php/ext
文件夾, 使用docker-php-ext-install
安裝所需要的擴(kuò)展, 如安裝pdo-mysql
擴(kuò)展, 可以使用docker-php-ext-install pdo_mysql
來安裝 - 修改 PHP 的配置文件
- 去掉
;extension=pdo_mysql
前面的;
- 使用
docker restart 容器ID
來重啟容器
搭建 PHP 站點(diǎn)
在從 Apache
中映射出來的文件夾中添加站點(diǎn)配置文件, 我這里添加了一個(gè) ceshi.conf
的文件
文件內(nèi)容如下:
<VirtualHost *:80> ServerName www.xiaoming.test DocumentRoot /var/www/html/api.ceshi.test/public <Directory "/var/www/html/api.ceshi.test/public"> SetOutputFilter DEFLATE AllowOverride All Require all granted DirectoryIndex index.php index.html index.htm default.php default.html default.htm </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- 重啟容器:
docker restart 容器ID
- 在本機(jī)
host
文件中添加站點(diǎn)信息 127.0.0.1 www.xiaoming.test
- 如果想要在容器內(nèi)部使用
vim
的話, 可以使用如下命令
apt-get update apt-get -y install vim
到此這篇關(guān)于docker 中搭建 PHP8 + Apache 環(huán)境的文章就介紹到這了,更多相關(guān)docker 搭建Apache 環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何解決docker容器無法通過IP訪問宿主機(jī)問題
這篇文章主要介紹了詳解如何解決docker容器無法通過IP訪問宿主機(jī)問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01Docker 教程之獲取鏡像基礎(chǔ)知識(shí)詳解
這篇文章主要介紹了Docker 教程之獲取鏡像詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12淺談Docker運(yùn)行Tensorboard和jupyter的方法
本篇文章主要介紹了淺談Docker 運(yùn)行Tensorboard 和 jupyter的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像
這篇文章主要介紹了使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02詳解如何在 Docker 中設(shè)置 Go 并部署應(yīng)用
在本教程中,我們將學(xué)習(xí)如何使用 docker 部署 golang web 應(yīng)用程序。 具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案
今天小編就為大家分享一篇關(guān)于Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10