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