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
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。