![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauYDa01mZyJmeiZncyBjYwoHM0IDMxIzLcNTMvwlMxUTMwIzLc1WdixWYvwFduVWboNWY0RXYvwVY0FGZvwVZt5CevJWcu42Y4VnbpxWLuR2Lc9CX6MHc0RHaiojIsJye.jpg)
<a></a>
为了让自己做事更加自动化,把重复的工作尽可能降到最低,平时不但需要写很多固定操作的脚本来加快工作效率。 搞搞调度环境也是需要的。
本篇通过docker+tmux在rancheros上做开发平台来实现最快速的docker调度方便自己开发。
可以最快速度进入到调度容器中。
该容器有docker deamon 的所有控制权限。
可以在容器内的tmux中跳转到其他容器中。方便调度开发。
经过<code>2</code>个版本的迭代终于搞定。到达1.0版本
<code>docker pull index.tenxcloud.com/philo/dmonit:1.0</code>
<a href="https://github.com/lijianying10/fixlinux/blob/master/dockerfiles/dmonit/dockerfile">https://github.com/lijianying10/fixlinux/blob/master/dockerfiles/dmonit/dockerfile</a>
<code>docker run -it --name kkk -d -p 445:22 -v /usr/local/bin/docker:/usr/local/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -e 'pubkey=ssh-rsa xxxx' index.tenxcloud.com/philo/dmonit:1.0</code>
参数解释:
映射22端口到其他位置,防止冲突
挂载docker命令到容器中
挂载docker api的named pipe控制docker
环境变量:pubkey 写入控制机的ssh 的 publickey
方便登陆docker容器的配置文件
<code># cat ~/.ssh/config</code>
<code>host dmmm</code>
<code>hostname 192.168.99.100</code>
<code>user root</code>
<code>port 445</code>
输入命令:<code>ssh dmmm</code> 可进入调度容器。
为了能获得一个好用的tty所以,也为了节省时间所以就用了openssh。
此命令用来开一个开发tmux还可以进入之前开过的tmux window
上面会标记项目名,预设:编辑器,运行窗口,测试窗口,日志窗口,数据库查看窗口。
后面有当前内存使用,当前时间,当前unix时间戳
xdev 有只有一个参数是给session命名的
在不同的终端输入一样的xdev命令会进入到同一个session中
非常方便的窗口恢复切换
如果你跟我一样无法忍受<code>docker exec -it [container] /bin/bash</code> 打太多次打到烦。 所以这个脚本是这样的:
<code>[#2#root@75477389dbdf ~]$cat $(which e)</code>
<code>docker exec -it $1 /bin/bash</code>
因为挂载了docker程序以及named pipe 所以在这里面是可以管理docker的。
切换开发tab:
快捷键: <code>m-h</code>切换到上一个tab
快捷键: <code>m-l</code>切换到下一个tab
可以和vim很好的结合。包括其他容器内的vim都可以。
如图所示: 上面为vim的tab,下面为tmux的tab
有了这个容器之后,可以非常方便的调度其他容器。可以提升开发效率。减少操作次数。频率。如果有好的意见一定要提醒我哦。先谢过
本文来自云栖社区合作伙伴“linux中国”
原文发布时间为:2013-04-02.