使用Docker Compose創(chuàng)建LAMP環(huán)境的詳細(xì)步驟
必備條件
- Docker : 用于在容器中開(kāi)發(fā)、交付和運(yùn)行應(yīng)用程序的平臺(tái)。
- Docker-Compose : 用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具。
您可以通過(guò)在終端中運(yùn)行 docker -v
和 docker-compose -v
來(lái)檢查這些工具的安裝。如果您還沒(méi)有安裝它們,請(qǐng)?jiān)L問(wèn) Docker 官方網(wǎng)站獲取安裝說(shuō)明。
Step 1: Create a Docker-Compose File
首先,在項(xiàng)目目錄中創(chuàng)建一個(gè) docker-compose.yml 文件,此文件至關(guān)重要。
version: '3' services: web: build: . container_name: apache-php ports: - "80:80" volumes: - ./www:/var/www/html db: image: mysql:8 container_name: mysql-server command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: secure_password MYSQL_DATABASE: mydb MYSQL_USER: myuser MYSQL_PASSWORD: password ports: - "3306:3306" volumes: - db_data:/var/lib/mysql volumes: db_data:
該配置詳細(xì)說(shuō)明了兩個(gè)主要服務(wù):web 用于 Apache 和 PHP, db 用于 MySQL。注意 web 下的 build: . 指令,指示 Docker 應(yīng)該在當(dāng)前目錄下使用一個(gè) Dockerfile 來(lái)構(gòu)建這個(gè)服務(wù)。
Step 2: Customize PHP with a Dockerfile
要合并其他 PHP 模塊和 Composer,請(qǐng)?jiān)谂c docker-composer .yml 相同的目錄下創(chuàng)建一個(gè) Dockerfile。這個(gè) Dockerfile 將指導(dǎo) Docker 如何準(zhǔn)備你的自定義 PHP 環(huán)境。
FROM php:8.3-apache # Install additional PHP modules RUN docker-php-ext-install pdo_mysql mysqli # Install Composer RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \ php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \ php -r "unlink('composer-setup.php');" # Enable Apache mod_rewrite RUN a2enmod rewrite
這個(gè) Dockerfile 擴(kuò)展了 php:8.3-apache 鏡像,為數(shù)據(jù)庫(kù)交互添加了 pdo mysql 和 mysqli 擴(kuò)展,并全局安裝了 Composer 管理器。
Step 3: Building and Running Your Containers
打開(kāi)終端,切換到 docker-compose.yml 所在的項(xiàng)目目錄,執(zhí)行如下命令
docker-compose up -d
'-d 選項(xiàng)以分離模式運(yùn)行容器,釋放終端。Docker-compose 將從 Docker Hub 提取必要的鏡像,創(chuàng)建定義的服務(wù),并設(shè)置指定的網(wǎng)絡(luò)和數(shù)據(jù)卷。
Step 4: Accessing Your LAMP Stack
容器啟動(dòng)并運(yùn)行后,您可以通過(guò)在瀏覽器中訪問(wèn) http//localhost 來(lái)訪問(wèn) Apache Web 服務(wù)。
要與 MySQL 數(shù)據(jù)庫(kù)交互,可以使用以下命令訪問(wèn) MySQL 命令行
docker-compose exec db mysql -uroot -proot
請(qǐng)用您在 docker-compose.yml 文件中定義的用戶名和密碼替換 root。
Step 5: Managing Your LAMP Stack
Docker-Compose 服務(wù)管理常見(jiàn)命令如下:
- 停止容器: docker-compose down
- 重啟容器: docker-compose up -d
- 重構(gòu)服務(wù): docker-compose up -d --build
到此這篇關(guān)于使用Docker Compose創(chuàng)建LAMP環(huán)境的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Docker Compose創(chuàng)建LAMP環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Dockerfile文件編寫(xiě)及構(gòu)建鏡像命令解析
這篇文章主要為大家介紹了Dockerfile文件編寫(xiě)及Dockerfile構(gòu)建鏡像命令解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04使用docker部署django技術(shù)棧項(xiàng)目的方法步驟
這篇文章主要介紹了使用docker部署django技術(shù)棧項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09使用Docker部署openGauss國(guó)產(chǎn)數(shù)據(jù)庫(kù)的操作方法
openGauss是一款支持SQL2003標(biāo)準(zhǔn)語(yǔ)法,支持主備部署的高可用關(guān)系型數(shù)據(jù)庫(kù),這篇文章主要介紹了使用Docker部署openGauss國(guó)產(chǎn)數(shù)據(jù)庫(kù),需要的朋友可以參考下2022-10-10安裝harbor作為docker鏡像倉(cāng)庫(kù)的問(wèn)題
這篇文章主要介紹了安裝harbor作為docker鏡像倉(cāng)庫(kù),主要包括docker和docker-compose離線部署,安裝harbor作為本地的倉(cāng)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06docker中使用mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)局域網(wǎng)訪問(wèn)
在本篇內(nèi)容里小編給大家整理了關(guān)于docker中使用mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)局域網(wǎng)訪問(wèn)相關(guān)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-03-03docker中使用mongodb數(shù)據(jù)庫(kù)詳解(在局域網(wǎng)訪問(wèn))
這篇文章主要給大家介紹了在docker中使用mongodb數(shù)據(jù)庫(kù),在局域網(wǎng)訪問(wèn)的相關(guān)資料,文中將步驟介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06Docker安裝mysql教程以及解決mysqld: Can‘t read dir&nbs
本文詳細(xì)介紹了如何通過(guò)Docker來(lái)安裝和配置MySQL數(shù)據(jù)庫(kù),包括拉取MySQL鏡像、啟動(dòng)MySQL容器、配置MySQL、解決常見(jiàn)錯(cuò)誤等步驟,提供了詳盡的命令和參數(shù)說(shuō)明,幫助用戶順利完成MySQL的安裝和配置,文中還提到了如何處理MySQL容器啟動(dòng)時(shí)遇到的“無(wú)法讀取目錄”2024-10-10