手动创建一个nginx+php的镜像
基础镜像Centos7
第一步安装软件
进入根据centos镜像创建的仓库安装nginx和php-fpm
跟新YUM源
yum -y install wget
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装nginx和php-fpm
yum -y install nginx php-fpm
安装完成后我们使用supervisor管理进程
yum -y install supervisor
安装完成后 创建nginx进程配置文件
cd /etc/supervisord.d
vi nginx_php.ini
[supervisord]
nodaemon=true
[program:nginx]
command=/usr/sbin/nginx -g "daemon off;"
[program:phpfpm]
command=/usr/sbin/php-fpm -F -c /etc/php.ini
autostart = true
startsecs = 3
autorestart = true
startretries = 3
user = root
redirect_stderr = false
stuout_logfile_maxbytes = 50MB
stdout_logfile_backups = 20
修改nginx配置文件支持php-fpm
vi /etc/nginx/nginx.conf
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
创建一个phpinfo文件
vi /usr/share/nginx/html/index.php
<?php
phpinfo();
?>
启动supervisor
supervisord
查看supervisor启动状态
supervisorctl status
重启
supervisorctl reload
第二部创建镜像
docker commit -m "nginx+php" 752acc398270 nginx_php:V1
- commit :提交
- -m :提交时的说明文字
- 752acc398270 : centos7容器ID
- nginx_php:创建的镜像名
- V1 :标签
到这里我们自己私有的nginx+php-fpm镜像就创建完成了
docker images
利用刚刚创建的镜像启动一个容器
docker run -it -d -p 80:80 --name nginx_V1 79a9b7c7d728 supervisord
-p:指定端口映射
-d:后台运行
supervisord:进入容器后执行的第一条命令
docker ps
宿主机上查看端口
lsof -i :80
通过浏览器测试
来源:CSDN
作者:bjgaocp
链接:https://blog.csdn.net/bjgaocp/article/details/103476156