我们的容器采用的是lxc类型,一是为了固定ip,二是避开iptable类型转发的方式。因为我们是强网络管理环境,网络工程师对网络的规划和管控非常强。
这种方式下启动lxc容器倒是很好办,直接编辑/etc/rc.d/rc.local
1docker start jko2o-16-13-49
2docker start vis-16-13-51
3docker start vis-16-13-50
4docker start vis-16-13-48
5docker start vis-16-13-47
就可以开机自动启动容器了。
容器内我们是采用supervisord主进程来保持容器不自动销毁的,那么其他命令如果都加入supervisord,那会非常麻烦。
简单化,用lxc-execute来执行,比较麻烦的就是需要查出来lxc容器的名字,用以下命令查出jko2o-16-13-49的全名:
1docker inspect -f '{{.Id}}' jko2o-16-13-49
2ebe2e6a1249f6f22334014b0072186dfaee52173f3df06cd826f9e64e7d4c51f
然后编辑/etc/rc.d/rc.local,用lxc-execute执行命令就可以了:
1#47
2lxc-execute -n e223d81ea73551460b82e1977b92ef07e24437cd1f4494470feafd4ff455104b -- service mysqld start
3lxc-execute -n e223d81ea73551460b82e1977b92ef07e24437cd1f4494470feafd4ff455104b -- service httpd start
4
5#48
6lxc-execute -n 1075971953b9c79494509bf89131e03bbd5ab0b9a388217bd9b6de7a553016a5 -- //www/wdlinux/init.d/mysqld start
7lxc-execute -n 1075971953b9c79494509bf89131e03bbd5ab0b9a388217bd9b6de7a553016a5 -- //www/wdlinux/init.d/httpd start
8lxc-execute -n 1075971953b9c79494509bf89131e03bbd5ab0b9a388217bd9b6de7a553016a5 -- //www/wdlinux/init.d/wdapache start
9lxc-execute -n 1075971953b9c79494509bf89131e03bbd5ab0b9a388217bd9b6de7a553016a5 -- //www/wdlinux/init.d/nginxd start
10lxc-execute -n 1075971953b9c79494509bf89131e03bbd5ab0b9a388217bd9b6de7a553016a5 -- //www/wdlinux/init.d/pureftpd start
11
12#49
13lxc-execute -n ebe2e6a1249f6f22334014b0072186dfaee52173f3df06cd826f9e64e7d4c51f -- /export/servers/nginx178/sbin/nginx
14
15#50
16lxc-execute -n 5b7e8cd3130d31bae5b089202c7e2092b9daca5f19cc055ce4ee50cf8b789504 -- /export/servers/tomcat/tomcat.sh