溫馨提示×

ubuntu lamp容器化部署實踐

小樊
60
2025-07-15 11:07:05
欄目: 智能運維

在Ubuntu上使用Docker容器化部署LAMP(Linux, Apache, MySQL, PHP)環境是一個相對簡單且高效的方法。以下是詳細的步驟指南:

1. 安裝Docker

首先,確保你的Ubuntu系統上已經安裝了Docker??梢酝ㄟ^以下命令來安裝Docker:

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

2. 創建Dockerfile

在你的應用目錄中創建一個名為 Dockerfile 的文件,這個文件定義了如何構建你的Docker鏡像。以下是一個基本的Dockerfile示例:

# 使用官方的Ubuntu鏡像作為基礎鏡像
FROM ubuntu:18.04

# 設置環境變量
ENV DEBIAN_FRONTEND=noninteractive

# 安裝Apache、MySQL和PHP
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    apache2 \
    mysql-server \
    php \
    php-mysql \
    php-xml \
    php-gd \
    php-mbstring \
    php-json

# 安裝PHP7.4
RUN apt-get update && \
    apt-get install -y php7.4 \
    php7.4-mysql \
    php7.4-xml \
    php7.4-gd \
    php7.4-mbstring \
    php7.4-json

# 安裝PHP擴展
RUN docker-php-ext-install pdo pdo_mysql

# 安裝Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# 配置Apache
RUN a2enmod rewrite

# 配置MySQL
RUN sed -i 's/^bind-address/#bind-address/' /etc/mysql/my.cnf

# 創建Apache和MySQL的運行用戶
RUN useradd -m -d /var/www -s /bin/bash www-data

# 配置Apache的主目錄和文檔根
RUN mkdir -p /var/www/html
RUN chown -R www-data:www-data /var/www/html

# 暴露Apache的80端口
EXPOSE 80

# 啟動Apache和MySQL
CMD ["apache2-foreground"]

3. 構建Docker鏡像

在包含Dockerfile的目錄中,運行以下命令來構建你的Docker鏡像:

docker build -t lamp .

4. 運行Docker容器

使用以下命令啟動一個包含LAMP環境的Docker容器:

docker run -d -p 80:80 -p 3306:3306 --name lampp lampp

這個命令將在后臺啟動一個Docker容器,并將容器的80端口映射到宿主機的80端口,3306端口映射到宿主機的3306端口。同時,容器被命名為 lampp。

5. 驗證部署

在瀏覽器中輸入 http://localhost,你應該能看到Apache的默認歡迎頁面。此外,你還可以通過 http://localhost/phpmyadmin 訪問MySQL的phpMyAdmin管理界面。

6. 自動化部署(可選)

你可以使用Ansible進行自動化部署。以下是一個簡單的示例腳本:

#!/bin/bash
# Update package list
sudo apt update
# Install LAMP stack
sudo apt install -y apache2 mysql-server php libapache2-mod-php php-mysql
# Restart Apache to apply changes
sudo systemctl restart apache2
# Set MySQL root password
sudo mysql_secure_installation

將上述腳本保存為 install_lamp.sh,并使用以下命令賦予執行權限并運行:

chmod +x install_lamp.sh
./install_lamp.sh

通過以上步驟,你可以在Ubuntu上成功使用Docker容器化部署LAMP環境。根據你的需求,可以選擇使用 lampp 鏡像或自定義的Dockerfile來構建鏡像。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女