Docker Ubuntu php nginx mysql redis开发环境部署教程

132 阅读2分钟

首先,你需要安装Docker和Docker Compose。Docker是一个开源的应用容器引擎,能够将应用程序及其依赖包打包到docker容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。Docker Compose则是Docker的一个编排工具,使得开发者可以通过YAML文件定义多容器应用服务,然后使用一个命令就可以启动你的应用。

安装Docker和Docker Compose的命令如下:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
​

接下来,我们需要创建一个docker-compose.yml文件来定义我们的服务。在这个文件中,我们会定义我们需要的服务,包括Nginx, PHP, MySQL和Redis。

这是一个基本的docker-compose.yml文件:

version: '3'
services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx:/etc/nginx/conf.d
      - ./www:/www
  php:
    image: php:7.4-fpm
    volumes:
      - ./www:/www
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test
      MYSQL_USER: test
      MYSQL_PASSWORD: test
    volumes:
      - ./mysql:/var/lib/mysql
  redis:
    image: redis:latest
    ports:
      - "6379:6379"

在这个文件中,我们定义了四个服务:Nginx, PHP, MySQL和Redis。对于每个服务,我们指定了使用的镜像,暴露的端口,以及挂载的卷。

接下来,我们需要创建Nginx的配置文件。在./nginx目录下,创建一个default.conf文件,内容如下:

server {
    listen 80;
    server_name localhost;
    root /www;
    index index.php index.html;
    location ~ .php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
​

这个配置文件定义了Nginx如何处理请求。它会监听80端口,将所有.php结尾的请求转发到PHP服务。

然后,我们需要创建我们的PHP应用。在./www目录下,创建一个index.php文件,内容如下:

<?php
phpinfo();
?>

这个文件会显示PHP的信息,用于测试我们的环境是否正确。

最后,我们可以启动我们的服务。在docker-compose.yml文件所在的目录下,运行以下命令:

docker-compose up -d
​

这个命令会启动我们定义在docker-compose.yml文件中的所有服务。使用-d参数可以让服务在后台运行。

现在,你可以在浏览器中访问localhost,你应该能够看到PHP的信息页面。这说明你的环境已经成功部署。

请注意,这只是一个基本的环境。在实际的开发中,你可能需要根据你的需求调整这个环境,例如添加更多的PHP扩展,或者调整MySQL的配置。

蓝易云-五网CN2服务器【点我购买】

蓝易云采用KVM高性能架构,稳定可靠,安全无忧!
蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。


海外免备案云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。