启动mysql容器
docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
-v `pwd`/mysql:/var/lib/mysql \
-d mysql--name 起别名
-e MYSQL_ROOT_PASSWORD=123456 初始密码设置为123456
--restart=always 在docker启动的时候启动容器
-v `pwd`/mysql:/var/lib/mysql 将目录映射到容器(数据到存储路径)
启动php和nginx
docker run --name web \
--restart=always \
-v `pwd`/logs:/var/log/nginx \
-v `pwd`/nginx:/etc/nginx/sites-enabled \
-v `pwd`/www:/var/www/html \
-p 80:80 \
-p 443:443 \
--link=mysql:mysql \
-d richarvey/nginx-php-fpm
这里使用到镜像是 richarvey/nginx-php-fpm
--link=mysql:mysql 是将mysql连接进来,代码中服务器的主机地址直接填写mysql
附带一个nginx的配置文件
server {
listen 80;
root /xxx;
location / {
index index.htm index.html index.php;
if (!-e $request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
}

本文介绍了如何使用Docker部署PHP7、MySQL和Nginx。通过设置MYSQL_ROOT_PASSWORD环境变量初始化MySQL密码,并配置容器的自动启动和数据持久化。接着,通过--link参数将MySQL容器链接到PHP和Nginx容器,确保应用能正确连接数据库。最后,提到了Nginx的配置文件在部署中的作用。
717

被折叠的 条评论
为什么被折叠?



