Docker Toolbox 使用小技巧-复制粘贴-批量处理-循环语句-dm别名

小技巧:

1、掌握标记、复制、粘贴方法

2、组合多行操作命令

3、使用变量和循环语句

4、使用别名 alias

 

# 1掌握标记、复制、粘贴方法

# 先在shell控制台中,点击窗口左上角-编辑-标记,

# 然后使用鼠标对屏幕信息进行标记,

# 标记好以后,按回车键,完成复制。

# 在记事本、Word中粘贴,即可将控制台中的信息复制到记事本或文档中。

 

# 反之,也可以将几条、几百条 docker Toolbox 的命令复制,

# 粘贴到shell中运行,批量处理Docker Toolbox shell命令。

# 比如通过粘贴,无需人工干预,自动执行,

# 直接创建一个Swarm集群+Portainer图形化管理的测试环境。

# 也可以自动创建多台Docker虚拟机、自动删除不用的Docker虚拟机等。

 

图一 终端控制台上的标记、复制、粘贴

 

# 2、组合多行操作命令

# 例:启动Docker Toolbox后,先要创建5Docker虚拟机,用于测试,

# 然后切换到Node1机器,显示Docker版本,下载一个httpd,进行httpd容器...

# 最后显示所有虚拟机的状态,命令集如下:

 

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

Node1

 

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

Node2

 

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

Node3

 

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

Node4

 

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

Node5

 

eval $(docker-machine env node1)

docker info

Docker pull httpd

Docker run -d -it --name www -p 80:80 httpd

 

Docker-machine ls

 

# 我们可以把上述命令组合在一起,

# 直接复制到控制台中执行,无需手工一行一行的输入,

# 如果结合shell编程的知识,学会字符串、变量赋值、循环语句等操作,

# 通过编写小程序的方式,实现自动化管理,可以获得更大的自由度。

 

 

# 3、使用变量和循环语句

# 以上面的代码段为例,我们可以使用变量和循环语句,

# 将上面的代码改造,实现相同的功能

# 一样可以复制到Docker Toolbox shell控制台中运行

 

# 其中机器名Node都是相同的,只是后面的编号不同,

# 同样的创建Docker虚拟机的命令执行了5

# 因此代码可以改为如下语句:

 

for i in $(seq 1 5)

do

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

Node$i

done

 

eval $(docker-machine env node1)

docker info

docker pull httpd

docker run -d -it --name www -p 80:80 httpd

 

docker-machine ls

 

# 通过循环语句的使用,执行了相同的功能,命令代码更简洁。


# 4 使用别名 alias dm=docker-machine

# 在需要输入docker-machine 的地方,直接使用两个字母的 dm 来替代,每次少输入12个字符,

# 比如 docker-machine ls / docker-machine config /docker-machine ip default/docker-machine env default 等

# 可用 dm ls/ dm config /dm ip default /dm env default 替代。

alias dm=docker-machine

dm ls

dm config

dm ip default

dm env default

# 建议将docker-machine 命令打熟练了、打顺手了,再采用别名 dm 代替 docker-machine