我有点搞乱了Docker环境。让我从头开始,我有一个全新安装的Ubuntu 12.04硬件盒,专用于运行GitLab。
现在因为它拥有相当不错的CPU和大量的可用内存,我考虑安装Docker并设置Discourse论坛作为我当前Vanilla论坛的替代品。我开始做了aptitude install docker.io
并从Ubuntu PPA中提取了最新的Docker软件包。
然后我看着Docker安装文档,看到他们使用不同的安装方式。我想“好吧,最好用同样的方法来正确安装Docker”。所以我跟wget -qO- https://get.docker.io/ | sh
一起去了,但是先忘了清除旧的安装。
但是,我继续使用Discourse安装并且遇到了有关容器自动启动的问题。无论何时主机系统启动,容器确实启动,但它们的连接有限。例如:我无法重建图像,因为它显然无法解析github.com
:
root@host /var/discourse # ./launcher rebuild app
WARNING: No swap limit support
Updating discourse docker
Already up-to-date.
Stopping old container
4ddf909d349592ee9620d7bfc36b8c602f1e924cf3c179a81faa0be5e753a74d
Calculated ENV: -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=6 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_MALLOC_LIMIT=40000000 -e RUBY_HEAP_MIN_SLOTS=800000 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e HOME=/root -e DISCOURSE_DEVELOPER_EMAILS=mail@domain.com -e DISCOURSE_HOSTNAME=forums.domain.com -e DISCOURSE_SMTP_ADDRESS=smtp.mandrillapp.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=info@domain.com -e DISCOURSE_SMTP_PASSWORD=password
cd /pups && git pull && /pups/bin/pups --stdin
fatal: unable to access 'https://github.com/SamSaffron/pups.git/': Could not resolve host: github.com
d2510635bf60babe1dfa59d29a8ce78ec10477810e3c282b896101b34456003d
FAILED TO BOOTSTRAP
另一个问题是容器无法通过SMTP(mandrillapp.com)发送邮件。所以我挖了一下,不知何故只是想用service docker restart
重新启动Docker,并且瞧瞧:问题已经消失了。 DNS工作以及邮件将再次成功发送。
所以基本上当主机重新启动时,我必须service docker restart
才能让Docker完全正常运行。
我已经找了一些死的初始化脚本,但只有一个:
root@host ~ # ls -alR /etc/init.d/ | grep docker
-rwxr-xr-x 1 root root 3421 Aug 21 21:24 docker
有人可以帮助我吗?