Ubuntu22 使用docker-compose 搭建php+sqlserver+redis
时间: 2025-07-06 09:46:55 浏览: 9
### 配置 Docker Compose 文件
为了在 Ubuntu 22 上使用 `docker-compose` 搭建 PHP、SQL Server 和 Redis 的集成环境,需要编辑 `docker-compose.yml` 文件来定义这些服务。
#### 定义 Redis 服务
在配置文件中添加如下内容用于启动 Redis:
```yaml
services:
redis:
image: redis:5.0.7
```
此部分描述了如何通过指定镜像版本号的方式引入 Redis[^1]。
#### 添加 SQL Server 服务
对于 Microsoft SQL Server,在同一文件内继续追加相应的服务条目:
```yaml
mssql:
image: 'mcr.microsoft.com/mssql/server'
environment:
SA_PASSWORD: "YourStrong!Passw0rd"
ACCEPT_EULA: "Y"
ports:
- "1433:1433"
```
这段 YAML 片段设置了 SQL Server 实例,并开放默认端口以便外部访问。注意设置强密码以保障安全性。
#### 构建 PHP-FPM 或 Apache/Nginx + PHP 组件
根据需求选择合适的 Web 服务器与 PHP 解析器组合。这里给出基于官方 PHP 图像的例子:
```yaml
php:
image: php:8.1-fpm-alpine
volumes:
- ./php:/var/www/html
depends_on:
- mysql
- redis
```
上述片段指定了 PHP FPM 形式的容器实例化方式,挂载本地目录作为网站根路径并依赖于先前声明的服务。
#### 创建网络连接
为了让不同服务之间能够互相通信,应该在同一文件里加入自定义网络设定:
```yaml
networks:
default:
driver: bridge
```
这会自动为所有参与的服务建立桥接模式下的内部私有网路环境[^3]。
#### 设置 MySQL 数据库 (如果需要)
尽管题目提到的是 SQL Server 而不是 MySQL,但考虑到兼容性和普遍适用性,也提供一个简单的 MySQL 示例供参考:
```yaml
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- "3306:3306"
```
以上代码展示了怎样快速部署一个带有预设管理员账户的 MySQL 数据库实例。
完成整个 `docker-compose.yml` 后保存退出。接下来按照常规流程操作即可让这套架构运行起来。
确保已经赋予了正确的权限给到 `docker-compose` 命令工具本身:
```bash
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
```
最后一步验证安装状况以及查看可用网络列表:
```bash
docker-compose --version
docker network ls
```
这样就完成了全部准备工作[^2][^4]。
阅读全文
相关推荐













