我的 Docker 环境有点混乱。让我从头开始,我有一个全新安装的 Ubuntu 12.04 硬件盒,专门用于运行 GitLab。
现在,由于它有相当不错的 CPU 和大量可用 RAM,我考虑安装 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) 发送邮件。所以我挖了一点,不知何故有了用 重启 Docker 的想法service docker restart
,瞧:问题消失了。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
有人可以帮我吗?