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

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:7.2 /bin/bash

 

 

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

# 重建RPM数据文件(如果不重建,安装时会出现RPM错误)
rpm --rebuilddb

# 清理yum
yum clean all

 

 

 

# 下载Nginx第三方源脚本
wget http://www.atomicorp.com/installers/atomic

 

 

# 执行下载的脚本(出现操作项,回车即可)
sh ./atomic

 

 

# 安装Nginx服务
yum install nginx -y

 

4、启动服务并测试

 

# 启动Nginx服务
/usr/sbin/nginx

# 查看是否成功启动
ps aux

 

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

5、退出容器并保存镜像

 

# 退出当前容器
exit

# 查看容器信息,主要查看ID
docker ps -al

# 保存当前容器
docker commit -m 'nginx-server' -a 'lixh' 5abc018ce171 nginx: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 Nginx服务安装与配置(CentOS7)

发表评论

提供最优质的文章集合

立即查看 了解详情