因为最近需要搭建环境,就需要导入docker镜像,但是人都是喜欢偷懒的,所以写了这个脚本,对镜像进行批量导入启动。
1.将需要导入的镜像和本脚本放在同一目录下再使用命令 sh <脚本名>.sh或./<脚本名>.sh启动脚本即可
#!/bin/bash
#启动docker
sudo service docker start
#导入镜像文件
for img in `find ./ -name '*.tar' && find ./ -name '*.gz' `
#for img in `ls *.tar.gz && ls *.tar`
do
sudo docker load -i $img
done
#启动docker仓库(这里是全部启动,可以注释掉前面两行手动写,但是这样有点违背自动的初衷,哈哈哈!)
containerNames=$(sudo docker images --format "{{.Repository}}")
Names=$(echo $containerNames | sed ':a;N;$!ba;s/n/|/g')
#Names="name1 name2 name3 ----"
for Name in $Names
do
sudo docker run -d -P $Name
done
echo " n "
#输出启动的docker的名称和端口信息,可以根据需求添加别的显示
sudo docker ps --format "{{.Image}}: {{.Ports}}" | awk -F, '{print $1}'
#获取输出ip地址(仅仅适用单网卡)
ip=$(ip a |grep inet|grep -v inet6 |grep -v 127.* |awk '{print $2}'|grep -v 172.17.0.1)
echo " nip:" ${ip%/*}
(脚本和文件处于同一目录,执行)
(输出效果)



