使用 docker+tmux 加强容器调度

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

使用 docker+tmux 加强容器调度



摘要

为了让自己做事更加自动化,把重复的工作尽可能降到最低,平时不但需要写很多固定操作的脚本来加快工作效率。 搞搞调度环境也是需要的。

本篇通过Docker+Tmux在RancherOS上做开发平台来实现最快速的Docker调度方便自己开发。

  1. 可以最快速度进入到调度容器中。
  2. 该容器有docker deamon 的所有控制权限。
  3. 可以在容器内的Tmux中跳转到其他容器中。方便调度开发。

经过2个版本的迭代终于搞定。到达1.0版本

Docker Registry


  
  
  1. docker pull index.tenxcloud.com/philo/dmonit:1.0

Dockerfile

https://github.com/lijianying10/FixLinux/blob/master/dockerfiles/dmonit/Dockerfile

主要功能

启动方法


  
  
  1. 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

参数解释:

  1. 映射22端口到其他位置,防止冲突
  2. 挂载docker命令到容器中
  3. 挂载Docker API的Named PIPE控制docker
  4. 环境变量:PUBKEY 写入控制机的ssh 的 publickey

进入控制方法

方便登陆Docker容器的配置文件


  
  
  1. # cat ~/.ssh/config
  2. Host dmmm
  3. hostname 192.168.99.100
  4. user root
  5. port 445

输入命令:ssh dmmm 可进入调度容器。

解释为啥使用ssh

主要是看了这个Docker ISSUE 然而他们并没有解决docker exec -it 和docker run -it不能使用tmux的问题。

为了能获得一个好用的tty所以,也为了节省时间所以就用了OpenSSH。

xdev

此命令用来开一个开发tmux还可以进入之前开过的tmux window

上面会标记项目名,预设:编辑器,运行窗口,测试窗口,日志窗口,数据库查看窗口。

后面有当前内存使用,当前时间,当前Unix时间戳

  1. xdev 有只有一个参数是给session命名的
  2. 在不同的终端输入一样的xdev命令会进入到同一个session中
  3. 非常方便的窗口恢复切换

e

如果你跟我一样无法忍受docker exec -it [container] /bin/bash 打太多次打到烦。 所以这个脚本是这样的:


  
  
  1. [#2#root@75477389dbdf ~]$cat $(which e)
  2. docker exec -it $1 /bin/bash

因为挂载了docker程序以及named pipe 所以在这里面是可以管理docker的。

tmux

切换开发Tab:

快捷键: M-h切换到上一个Tab

快捷键: M-l切换到下一个Tab

可以和vim很好的结合。包括其他容器内的vim都可以。

如图所示: 上面为vim的tab,下面为Tmux的tab

总结

有了这个容器之后,可以非常方便的调度其他容器。可以提升开发效率。减少操作次数。频率。如果有好的意见一定要提醒我哦。先谢过




本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

相关文章
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
23 2
|
3天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
7天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
4天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
5天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
5天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
5天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
7天前
|
NoSQL Redis Docker
【赵渝强老师】使用Docker Compose管理容器
Docker Compose 通过 YAML 文件管理多个容器,简化复杂系统的部署和管理。本文介绍了 Docker Compose 的基本概念,并通过一个包含 Redis DB 和 Python Web 模块的示例,展示了如何使用 Docker Compose 部署和管理多容器应用。手动部署和 Docker Compose 部署的对比突显了 Docker Compose 在系统复杂度增加时的优势。