Docker PHP服务安装与配置(CentOS7)

作者:JC and lixh

1、关闭宿主主机的SELinux

如果不关闭宿主主机的SELinux服务,在下面修改容器内服务器的密码,会出现错误。修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

# 编辑SELinux配置文件

vi /etc/selinux/config

# 重新启动服务器

reboot

2、启动基本镜像并安装相应服务

我们在启启动基本镜像前,需要pull一个镜像,目前我们的镜像已经成功下载,启动并进入bash模式下。

# 启动基本镜像,进入bash模式

docker run -it -p 10080:80 centos:latest /bin/bash

3、安装配置所必要的命令及服务

# 安装相关命令及服务

yum install php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

写个脚本测试一下

vi /var/www/html/info.php

4、测试

# 结束apache进程(apache安装方法见其它文档)

pkill httpd

# 重新启动apache

/usr/sbin/httpd

接下来就可以通过外部主机进行访问了,需要通过你宿主主机的IP或域名,加端口号加info.php,就可以成功访问,下例使用IP地址访问。

5、退出容器并保存镜像

# 退出当前容器

exit

# 查看容器信息,主要查看ID

docker ps -al

# 保存当前容器

docker commit -m ‘apache-server’ -a ‘lixh’ 81a39bcb2a69 httpd:centos

6、特殊说明

每次容器退之后,容器中的服务也会相应的关闭,虽然我们将容器进行了存储,但在没有运行的情况下,服务是不启动的。那如何解决这种问题呢?

方法一:

# 以后台模式运行容器

docker run -itd -p 10080:80 httpd:centos

# 查看容器ID

docker ps

# 再次进入一个正在运行的容器

docker attach 69356a83ef77

# 启动相应服务…

# 退出容器保持后台运行

Ctrl + P + Q

方法二:

# 运行容器

docker run -it -p 10080:80 httpd:centos

# 启动相应服务…

# 退出容器保持后台运行

Ctrl + P + Q

上面提到的docker attach,在进入容器后,用exit会退出容器同时也会停止相应的服务,所以必须用Ctrl + P + Q退出才能继续后台运行,在docker 中有一个docker exec用exit也不会真正退出容器,服务会继续后台运行使用方法如下:

docker exec -it httpd:centos /bin/bash

 

转载请附上原文出处链接及本声明
李老师的博客 » Docker PHP服务安装与配置(CentOS7)

发表评论

提供最优质的文章集合

立即查看 了解详情