如何用 Docker 实现 PHP 命令行程序的 CI/CD
1个回答
展开全部
因所有官方镜像均位于境外服务器,为了确保所有示例能正常运行,DaoCloud 提供了一套境内镜像源,并与官方源保持同步。
首先,选择官方的 PHP 镜像作为项目的基础镜像。
dockerfile
FROM daocloud.io/php:5.6-apache
接着,用官方 PHP 镜像内置命令 docker-php-ext-install 安装 PHP 的 MySQL 扩展依赖。
dockerfile
RUN docker-php-ext-install pdo_mysql
依赖包通过 docker-php-ext-install 安装,如果依赖包需要配置参数则通过docker-php-ext-configure 命令。
安装 pdo_mysql PHP 扩展。
然后,将代码复制到目标目录。
dockerfile
COPY . /var/www/html/
因为基础镜像内已经声明了暴露端口和启动命令,此处可以省略。
至此,包含 PHP 应用的 Docker 容器已经准备好了。PHP 代码中访问数据库所需的参数,是通过读取环境变量的方式声明的。
```php
$serverName = env("MYSQL_PORT_3306_TCP_ADDR", "localhost");
$databaseName = env("MYSQL_INSTANCE_NAME", "homestead");
$username = env("MYSQL_USERNAME", "homestead");
$password = env("MYSQL_PASSWORD", "secret");
/**
首先,选择官方的 PHP 镜像作为项目的基础镜像。
dockerfile
FROM daocloud.io/php:5.6-apache
接着,用官方 PHP 镜像内置命令 docker-php-ext-install 安装 PHP 的 MySQL 扩展依赖。
dockerfile
RUN docker-php-ext-install pdo_mysql
依赖包通过 docker-php-ext-install 安装,如果依赖包需要配置参数则通过docker-php-ext-configure 命令。
安装 pdo_mysql PHP 扩展。
然后,将代码复制到目标目录。
dockerfile
COPY . /var/www/html/
因为基础镜像内已经声明了暴露端口和启动命令,此处可以省略。
至此,包含 PHP 应用的 Docker 容器已经准备好了。PHP 代码中访问数据库所需的参数,是通过读取环境变量的方式声明的。
```php
$serverName = env("MYSQL_PORT_3306_TCP_ADDR", "localhost");
$databaseName = env("MYSQL_INSTANCE_NAME", "homestead");
$username = env("MYSQL_USERNAME", "homestead");
$password = env("MYSQL_PASSWORD", "secret");
/**
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |