溫馨提示×

centos lnmp如何實現容器化部署

小樊
35
2025-07-14 22:19:54
欄目: 智能運維

在CentOS上使用LNMP(Linux, Nginx, MySQL, PHP)實現容器化部署,可以借助Docker來完成。以下是一個基本的步驟指南:

1. 安裝Docker

首先,確保你的CentOS系統上已經安裝了Docker。如果沒有安裝,可以使用以下命令進行安裝:

sudo yum update -y
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker

2. 創建Dockerfile

為每個組件(Nginx、MySQL、PHP)創建一個Dockerfile。

Nginx Dockerfile

創建一個名為Dockerfile.nginx的文件:

FROM nginx:latest
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY ./html /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

MySQL Dockerfile

創建一個名為Dockerfile.mysql的文件:

FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD=rootpassword
ENV MYSQL_DATABASE=mydatabase
EXPOSE 3306
CMD ["mysqld"]

PHP Dockerfile

創建一個名為Dockerfile.php的文件:

FROM php:fpm
COPY ./php.ini /usr/local/etc/php/conf.d/custom.ini
COPY ./app /var/www/html
EXPOSE 9000
CMD ["php-fpm"]

3. 創建Docker Compose文件

創建一個名為docker-compose.yml的文件來定義和運行多容器Docker應用程序:

version: '3'
services:
  nginx:
    build:
      context: .
      dockerfile: Dockerfile.nginx
    ports:
      - "80:80"
    depends_on:
      - php
      - mysql

  mysql:
    build:
      context: .
      dockerfile: Dockerfile.mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: mydatabase
    volumes:
      - db_data:/var/lib/mysql

  php:
    build:
      context: .
      dockerfile: Dockerfile.php
    volumes:
      - ./app:/var/www/html

volumes:
  db_data:

4. 準備配置文件和應用程序代碼

確保你有以下文件:

  • nginx.conf:Nginx配置文件。
  • php.ini:PHP配置文件。
  • html目錄:包含靜態HTML文件。
  • app目錄:包含PHP應用程序代碼。

5. 構建和啟動容器

在包含docker-compose.yml文件的目錄中運行以下命令來構建和啟動所有容器:

docker-compose up --build -d

6. 驗證部署

打開瀏覽器并訪問http://your_server_ip,你應該能夠看到你的Nginx服務器正在運行,并且能夠訪問你的PHP應用程序。

總結

通過以上步驟,你可以在CentOS上使用Docker容器化部署LNMP環境。每個組件都有自己的Dockerfile,并且通過Docker Compose文件來管理和協調這些容器的運行。這樣可以確保環境的一致性和可移植性。

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