使用Docker Compose創(chuàng)建LAMP環(huán)境的詳細(xì)步驟
必備條件
- Docker : 用于在容器中開發(fā)、交付和運(yùn)行應(yīng)用程序的平臺(tái)。
- Docker-Compose : 用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具。
您可以通過在終端中運(yùn)行 docker -v 和 docker-compose -v 來檢查這些工具的安裝。如果您還沒有安裝它們,請(qǐng)?jiān)L問 Docker 官方網(wǎng)站獲取安裝說明。
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ì)說明了兩個(gè)主要服務(wù):web 用于 Apache 和 PHP, db 用于 MySQL。注意 web 下的 build: . 指令,指示 Docker 應(yīng)該在當(dāng)前目錄下使用一個(gè) Dockerfile 來構(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
打開終端,切換到 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)行后,您可以通過在瀏覽器中訪問 http//localhost 來訪問 Apache Web 服務(wù)。
要與 MySQL 數(shù)據(jù)庫(kù)交互,可以使用以下命令訪問 MySQL 命令行
docker-compose exec db mysql -uroot -proot
請(qǐng)用您在 docker-compose.yml 文件中定義的用戶名和密碼替換 root。
Step 5: Managing Your LAMP Stack
Docker-Compose 服務(wù)管理常見命令如下:
- 停止容器: 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)文章
Docker 制作鏡像Dockerfile和commit操作
這篇文章主要介紹了Docker 制作鏡像Dockerfile和commit操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Docker 與 Kubernetes 部署最佳實(shí)踐指南
本文介紹了Docker與Kubernetes部署的最佳實(shí)踐,涵蓋Dockerfile優(yōu)化、鏡像管理、容器運(yùn)行、Kubernetes部署配置、服務(wù)配置、配置管理、存儲(chǔ)管理、網(wǎng)絡(luò)配置、CI/CD集成、監(jiān)控與日志、安全最佳實(shí)踐、性能優(yōu)化、實(shí)際應(yīng)用場(chǎng)景及未來發(fā)展趨勢(shì)2026-04-04
Docker啟動(dòng)參數(shù)超詳細(xì)講解
在啟動(dòng)Docker容器時(shí),我們可以通過添加參數(shù)來修改容器的配置,這樣可以靈活地適應(yīng)不同的場(chǎng)景和需求,這篇文章主要給大家介紹了關(guān)于Docker啟動(dòng)參數(shù)的相關(guān)資料,需要的朋友可以參考下2024-01-01
詳解centos7 docker1.12安裝私有倉(cāng)庫(kù)
本篇文章主要介紹了centos7 docker1.12安裝私有倉(cāng)庫(kù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
優(yōu)化Docker鏡像安全性的12個(gè)技巧總結(jié)
docker是虛擬化容器技術(shù),有三個(gè)主要概念,鏡像(類)、容器(對(duì)象)、倉(cāng)庫(kù),docker就是類似VM虛擬機(jī)一樣的虛擬技術(shù),體積小,運(yùn)行速度快,下面這篇文章主要給大家介紹了關(guān)于優(yōu)化Docker鏡像安全性的12個(gè)技巧,需要的朋友可以參考下2022-03-03
Docker搭建私有倉(cāng)庫(kù)的實(shí)現(xiàn)步驟
因?yàn)閐ockerHub公共倉(cāng)庫(kù)是外網(wǎng)的,所以訪問就特別慢,所以一般公司都會(huì)搭建私人的鏡像倉(cāng)庫(kù)來保存鏡像,本文主要介紹了Docker搭建私有倉(cāng)庫(kù)的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Docker以掛載方式安裝RocketMQ的實(shí)現(xiàn)方式
Docker中安裝和使用RocketMQ有多種方式,本文主要介紹了Docker以掛載方式安裝RocketMQ的實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06

