各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

Dockerfile构建PHP镜像

管理员 2023-09-05
PHP
127

Dockerfile构建PHP镜像

内容导读

收集整理的这篇技术教程文章主要介绍了Dockerfile构建PHP镜像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5128字,纯文字阅读大概需要8分钟

内容图文

1 搭建私有镜像仓库

1) 拉起镜像仓库docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry2)修改配置仓库是之能够被我们使用vi /etc/docker/daemon.json{"registry-mirrors": ["http://04be47cf.m.daocloud.io"],"insecure-registries":["192.168.184.130:5000"]}systemctl daemon-reload systemctl restart docker  3)测试仓库是否可用curl http://192.168.184.130:5000/v2/_catalog{"repositories":[]} 说明成功

2 创建镜像构建目录

mkdir /tmp/php

3 下载php软件包

wget http://cn2.php.com/distributions/php-7.1.5.tar.gz -P /tmp/php

4 编写Dockerfile文件

cd /tmp/phpcat Dockerfile FROM centos:7MAINTAINER swiftRUN yum install -y install epel-release &&     yum -y install git wget lrzsz vim  libxml2 libxml2-devel openssl openssl-devel curl curl-devel libjpeg-turbo libjpeg-turbo-devel libpng-devel libpng freetype-devel freetype icu libicu-devel libicu libmcrypt libmcrypt-devel libxslt libxslt-devel php-mysql &&     yum -y groupinstall "Development Tools" &&     yum provides "*/applydeltarpm" &&      yum install deltarpm -y &&        yum clean all &&     groupadd www &&     useradd -g www www   ADD php-7.1.5.tar.gz   /usr/local/src/RUN cd /usr/local/src/php-7.1.5 &&     ./configure --prefix=/usr/local/php71     --with-config-file-path=/usr/local/php71/etc     --with-config-file-scan-dir=/usr/local/php71/conf.d     --enable-fpm --with-fpm-user=www     --with-fpm-group=www     --with-mysql=mysqlnd     --with-mysqli=mysqlnd     --with-pdo-mysql=mysqlnd     --with-iconv-dir     --with-freetype-dir=/usr/local/freetype     --with-jpeg-dir     --with-png-dir     --with-zlib     --with-libxml-dir=/usr     --enable-xml     --disable-rpath     --enable-bcmath     --enable-shmop     --enable-sysvsem     --enable-inline-optimization     --with-curl     --enable-mbregex     --enable-mbstring     --with-mcrypt      --enable-ftp     --with-gd     --enable-gd-native-ttf     --with-openssl     --with-mhash     --enable-pcntl     --enable-sockets     --with-xmlrpc     --enable-zip     --enable-soap     --with-gettext     --disable-fileinfo     --enable-opcache     --enable-intl     --with-xsl &&     make -j 4 && make install &&     cp /usr/local/php71/etc/php-fpm.conf.default /usr/local/php71/etc/php-fpm.conf &&     cp ./php.ini-production  /usr/local/php71/etc/php.ini &&     cp /usr/local/php71/etc/php-fpm.d/www.conf.default /usr/local/php71/etc/php-fpm.d/www.conf &&     cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm &&     chmod +x /etc/init.d/php-fpm &&     rm -rf /usr/loacl/src/php-7.1.5EXPOSE 9000CMD ["/etc/init.d/php-fpm","start"]

5 构建php镜像

docker build -t 192.168.184.130:5000/lnmp-7-php71:base .

6 查看查看已经构建的镜像并上传到私有仓库(php视频教程)

1)查看镜像# docker imagesREPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE192.168.184.130:5000/lnmp-7-php71    base                9c85344d010f        8 minutes ago       1.26GB2)给镜像打tagdocker tag  192.168.184.130:5000/lnmp-7-php71:base 192.168.184.130:5000/lnmp-7-php71:v33)上传到私有仓库docker push 192.168.184.130:5000/lnmp-7-php71:v34)查看镜像仓库 curl http://192.168.184.130:5000/v2/lnmp-7-php71/tags/list{"name":"lnmp-7-php71","tags":["base","v3","redis","redisv1","redisv2"]}

7 测试使用镜像

1) run起来一个phpdocker run -d -p 9000:9000 --name php-test 192.168.184.130:5000/lnmp-7-php71:v32)查看docker是否运行# docker ps | grep php-test5ad6cbbaf728        192.168.184.130:5000/lnmp-7-php71:v3   "/bin/sh -c '/etc/in…"   5 minutes ago       Up 5 minutes        0.0.0.0:9000->9000/tcp, 9006/tcp   php-test3)查看端口# ss -anlptu | grep 9000tcp    LISTEN     0      128      :::9000                 :::*                   users:(("docker-proxy",pid=7340,fd=4))4)查看日志# docker logs php-test -fStarting php-fpm  done

8 添加redis扩展

1)创建php-redisDocker文件目录#mkdir redis2) 以php-test 192.168.184.130:5000/lnmp-7-php71:v3为基础镜像添加redis扩展# cat Dockerfile FROM 192.168.184.130:5000/lnmp-7-php71:v3MAINTAINER swiftRUN cd /usr/local/src &&     git clone https://github.com/phpredis/phpredis.git phpredis71 &&     cd phpredis71 &&     /usr/local/php71/bin/phpize &&     ./configure  --with-php-config=/usr/local/php71/bin/php-config &&     make && make install 3) build镜像#docker build -t 192.168.184.130:5000/lnmp-7-php71:redis .4)给镜像打tag#docker tag 192.168.184.130:5000/lnmp-7-php71:redis 192.168.184.130:5000/lnmp-7-php71:redisv25)上传到私有仓库#docker push 192.168.184.130:5000/lnmp-7-php71:redisv26)创建php.ini配置文件#cat php.iniextension=redis.so7)创建测试容器验证#docker run -d -p 9006:9000 -v /root/redis/php.ini:/usr/local/php71/etc/php.ini --name php-test-redis 192.168.184.130:5000/lnmp-7-php71:redisv28)查看redis模块是否加载#docker exec -it php-test-redis bash -c  '/usr/local/php71/bin/php -m  | grep redis'redis##############################################################################################################################kill -USR2 ps -ef | grep php-fpm | grep 'master process' | grep '/usr/local/php71/etc/php-fpm.conf' | awk -F ' ' '{print $2}'###############################################################################################################################

以上就是Dockerfile构建PHP镜像的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的Dockerfile构建PHP镜像全部内容,希望文章能够帮你解决Dockerfile构建PHP镜像所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部