Docker定制私有镜像

故事扮演 提交于 2019-12-10 17:20:58

手动创建一个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

通过浏览器测试

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!