这是带有GUI的CentOS 6.6服务器。 我已经把我的启动命令放在/etc/rc.local这个服务器上运行的服务是Docker和Nginx。 所以我把Container启动命令与端口映射在rc.local中。
Docker容器正在启动,但在服务器上,我没有获得GUI,只有CLI来了,如果我评论rc.local中的所有命令,那么GUI在重新启动后即将到来。
rc.local文件包含…
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local sysctl net.ipv4.conf.all.forwarding=1 sleep 5 setenforce Permissive sleep 5 iptables -F sleep 5 service nginx stop sleep 5 service nginx start sleep 5 service docker stop sleep 5 service docker start sleep 5 docker stop $(docker ps -a -q) sleep 5 docker rm $(docker ps -a -q) sleep 5 docker run -p port:port/tcp -d memcached:latest sleep 5 docker run -d -v /mnt/path:/mnt/path -p port:port/tcp imagename sleep 5 docker run -d -p port:port/tcp -p port:port/udp imagename sleep 5 mount -t nfs 192.168.0.3:/mnt/path/ /mnt/path/
你的rc.local东西没有终止。 这个文件的执行必须在正常的引导过程完成之前完成,然后启动X.
既然你说docker集装箱都启动了,我的猜测就是assembly线因为某种原因没有完成。 确认它不是,找出原因并加以解决。 更好的做法是,把所有这些东西从rc.local移出来,放到正确的启动文件中,正如Michael所build议的那样,不仅仅是因为所有这些sleep都会使启动花费一分多时间。