首页 > 系统相关 >Linux部署docker镜像之PHP项目的Dockerfile步骤

Linux部署docker镜像之PHP项目的Dockerfile步骤

时间:2022-12-22 15:00:25浏览次数:47  
标签:website www php RUN Linux var docker PHP

二、Docker部署步骤
1、项目编译成镜像 请cd到和Dockerfile同目录; 例如:cd /home/docker
	docker build -t website:latest .

2、查看镜像并创建容器
	docker images
	
	#端口8081在website.conf中设定
	#--privileged是给权限 不然进入容器systemctl命令没有权限
	#-v /home/docker/upload:/var/www/website/admin/upload 路径需要根据项目目录而定 上传的附件映射到宿主主机
	#-v /sys/fs/cgroup:/sys/fs/cgroup 解决权限问题
	#/usr/sbin/init 解决权限问题 不能省略
	docker run -it -p 8089:8081 --privileged --name web-site -v /home/docker/upload:/var/www/website/admin/upload -v /sys/fs/cgroup:/sys/fs/cgroup -d website:latest /usr/sbin/init

3、查看容器
	docker ps -a
	
4、进入容器并启动服务
	docker exec -it web-site /bin/bash
	/var/www/website/init.sh

5、查看容器运行日志
	docker logs -f web-site

6、查看容器接口情况
	curl http://127.0.0.1:8081/api/index.php/common/faqCate

7、查看宿主接口情况
	curl http://127.0.0.1:8089/api/index.php/common/faqCate
	

  

项目语言PHP7.4、MariaDB/MySQL、Nginx、Redis

  

一、Dockerfile

FROM centos:7

MAINTAINER 作者姓名 邮箱 可忽略

#设置容器时间和宿主主机一致
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

#安装PHP7.4
RUN yum install epel-release -y
RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
RUN yum --enablerepo=remi-php74 install php -y
RUN yum --enablerepo=remi-php74 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-cli php-common php-redis php-ldap php-mysql php-mysqli php-pdo php-fpm php-devel php-zip php-opcache -y
RUN sed -i 's/^user\ =\ apache/user\ =\ nginx/' /etc/php-fpm.d/www.conf
RUN sed -i 's/^group\ =\ apache/group\ =\ nginx/' /etc/php-fpm.d/www.conf
RUN sed -i 's/^;listen\.owner\ =\ nobody/listen\.owner\ =\ nobody/' /etc/php-fpm.d/www.conf
RUN sed -i 's/^;listen\.group\ =\ nobody/listen\.group\ =\ nobody/' /etc/php-fpm.d/www.conf
RUN sed -i 's/^;listen\.mode\ =\ 0660/listen\.mode\ =\ 0660/' /etc/php-fpm.d/www.conf

#安装Nginx
RUN yum install nginx -y
#复制项目Nginx配置
COPY ./website.conf /etc/nginx/conf.d/website.conf

#复制项目
RUN mkdir -p /var/www/website
COPY ./website/ /var/www/website
COPY ./init.sh /var/www/website/init.sh
RUN chmod -R 777 /var/www/website
RUN ln -s /var/www/website/admin/upload /var/www/website/api/upload

  

 

标签:website,www,php,RUN,Linux,var,docker,PHP
From: https://www.cnblogs.com/lovekingly/p/16998734.html

相关文章

  • Linux配置时间同步
    一、Master节点1、关闭ntp服务和自启动(必须root用户)yuminstall-yntpsudosystemctlstopntpdsudosystemctldisablentpd2、修改ntp配置文件vi/etc/ntp.con......
  • php资料完成度
    首先,完成度=已填写字段数/需填写字段总数*100%。这里对你可能会照成困扰的应该是如何得到已填写的字段数。其实很简单,先查询出一维数组select*fromuserwhereid='1';......
  • Linux 利用wkhtmltopdf动态生成pdf
    yumlocalinstallwkhtmltox-0.12.6-1.centos8.x86_64.rpmwkhtmltopdf--version;yuminstalllibpng15*yumlistlibpng15*wkhtmltopdf--disable-smart-shrinki......
  • Linux挂载磁盘
    1、查看磁盘信息fdisk-l2、格式化磁盘mkfs.xfs/dev/sda3、创建挂载目录mkdir-p/data/1/4、挂载并将挂载信息写入/etc/fstab,开启自动挂载mount/dev/sda......
  • Linux配置免密
    1、进入ssh目录cd~/.ssh2、若不存在则创建该目录mkdir-p~/.ssh3、查看是否有公钥cd~/.sshll|grepid_rsa.pub4、若没有,则公钥和私钥(然后敲(三个回车),就会......
  • 时钟系统,Linux系统中芯片时钟的基本原理
    第一:时钟系统分析   每款芯片都有自己的主频,有的时候需要把主频设置到合适的值,才能发挥它的最大性能。     可以看出,开发板的系统时钟来源于两个部分:32.7......
  • CenterOS7安装docker
    CenterOS7安装docker官方文档卸载旧版本sudoyumremovedocker\docker-client\docker-client-latest\......
  • 阿里云镜像加速(docker)
    阿里云镜像加速docker登录阿里云平台阿里云-为了无法计算的价值(aliyun.com)将命令复制到控制台执行......
  • docker常用命令
    docker常用命令帮助启动类命令启动dockersystemctlstartdocker停止dockersystemctlstopdocker重启dockersystemctlrestartdocker查看docker状态systemct......
  • 问题 | Linux虚拟机无法联网
    前言:有一段时间没有开启过虚拟机的Linux系统,打开发现无法上网,IP也不显示为之前设置的静态IP,怀疑是安装win10虚拟机时修改了网络设置影响的,虚拟机系统:CentOs-71.检查ens33......