在 Web 开发领域,设置一致且可重现的环境可能是一项艰巨的任务。Docker 为创建此类环境提供了出色的解决方案。在本指南中,我们将探讨如何使用 Docker、NGINX、PHP 和 MySQL 在 Ubuntu 上设置开发环境。
为什么使用 Docker?
Docker 是一个使用容器化的平台,允许开发人员将 加拿大华人 应用程序及其依赖项打包到单个可移植容器中。这可确保应用程序无论部署在何处都能以相同的方式运行,从而更易于管理和扩展。
在 Ubuntu 上安装 Docker
首先,您需要在 Ubuntu 系统上安装 Docker。您可以 比利时电话号码 通过运行以下命令来执行此操作:
sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
要以非 root 用户身份管理 Docker,请将您的用户添加到 Docker 组:
sudo usermod -aG docker $USER
设置 NGINX、PHP 和 MySQL
创建Docker网络
为了允许容器进行通信,请创建 Docker 网络:
docker network create mynetwork
MySQL 容器
运行 MySQL 容器:
docker run --name mysql-container --network mynetwork -e MYSQL_ROOT_PASSWORD=rootpassword -e MYSQL_DATABASE=mydatabase -e MYSQL_USER=myuser -e MYSQL_PASSWORD=mypassword -d mysql:latest
PHP 容器
为 PHP 环境创建 Dockerfile:
FROM php:7.4-fpm
RUN docker-php-ext-install pdo pdo_mysql
COPY . /var/www/html
EXPOSE 9000
构建并运行 PHP 容器:
docker build -t php-container .
docker run --name php-container --network mynetwork -d php-container
NGINX 容器
为 NGINX 创建配置文件(nginx.conf):
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass php-container:9000;
}
location ~ /\.ht {
deny all;
}
}
运行 NGINX 容器:
docker run --name nginx-container --network mynetwork -v /path/to/nginx.conf:/etc/nginx/conf.d/default.conf -v /path/to/your/code:/var/www/html -p 80:80 -d nginx:latest
结论
通过执行这些步骤,您已使用 Docker、NGINX、PHP 和 MySQL 在 Ubuntu 上设置了开发环境。此设置不仅可确保跨不同开发阶段的环境一致,而且还简化了依赖项管理和扩展。Docker 的容器化方法大大简化了开发工作流程,使管理复杂应用程序变得更加容易。