#!/bin/bash
#获取用户名
[ pwd == '/root' ] && hn="root@$(hostname):~#" || hn="root@$(hostname):pwd#"
d (){
echo -e "\033[1m$hn$dd\033[0m"
}
a (){
sleep 1
}
c (){
echo -e "\033[32m$cc\033[0m"
}
#检查网络
ping -c 3 -i 0.2 -W 1 www.g.cn &> /dev/null
[ $? -ne 0 ] && echo "请检查你的网络是否畅通" && exit

read -p "请输入你的镜像加速地址.如https://rala1lg0.mirror.aliyuncs.com:" http

cc="步骤1 apt-get update 更新数据源" && c
dd="apt-get update" && d
apt-get update && a

cc="步骤2 安装所需依赖" && c
dd="apt-get -y install apt-transport-https ca-certificates curl software-properties-common" && d
apt-get -y install apt-transport-https ca-certificates curl software-properties-common && a

cc="步骤3 安装GPG证书" && c
dd="curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add" && d
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add && a

cc="步骤4 新增数据源" && c
dd='add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"' && d
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs)
stable" && a

cc="步骤5 更新并安装 docker-ce " && c
dd="apt-get update && apt-get install -y docker-ce " && d
apt-get update && apt-get install -y docker-ce && a

cc="步骤6 验证是否安装成功 " && c
dd="docker version" && d
docker version && a

cc="步骤7 配置docker镜像加速器" && c
m1='"registry-mirrors"'
m2=': ["'
m3=$http
m4='"]'
m5=$m1$m2$m3$m4
dd="tee /etc/docker/daemon.json <<-'EOF'
{
$m5
}
EOF" && d
echo "{
$m5
}" > /etc/docker/daemon.json && a && cat /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker
cc="查看镜像仓库多了加速地址" && c
dd="docker info" && d
docker info |tail -10 && a

cc="查看docker运行状态" && c
dd="service docker status" && d
service docker status |head -15 && a

cc="Hello-world程序验证Docker的正确安装" && c
dd="docker run hello-world" && d
docker run hello-world | head -10 && a

cc="Docker镜像,搜索Docker镜像" && c
dd="sudo docker search ubuntu" && d
sudo docker search ubuntu && a

cc="获取Docker镜像" && c
dd="sudo docker pull ubuntu" && d
sudo docker pull ubuntu & a

cc="获取mysql镜像" & c
dd="docker pull mysql" && d
docker pull mysql & a

cc="查看镜像" && c
dd="docker images" && d
docker images && a

cc="导出docker镜像,删除docker镜像" && c
dd="docker save ubuntu > /opt/ubuntu.tar.gz" && d
docker save ubuntu > /opt/ubuntu.tar.gz
sleep 5
dd="docker rmi ubuntu" && d
docker rmi ubuntu
dd="docker images" && d
docker images && a

cc="导入docker镜像" && c
dd="docker load < /opt/ubuntu.tar.gz" && d
docker load < /opt/ubuntu.tar.gz && a
sleep 5

cc="4.Docker容器,新建并运行容器,查看容器" && c
dd="docker run -itd ubuntu" && d
docker run -it ubuntu & a
dd="docker ps -a" && d
docker ps -a && a && sleep 3

cc="停止容器,删除容器" && c

gn (){
while :
do
x=docker ps -a |wc -l && let y=x-1
[ $y -eq 0 ] && echo "没有可以执行的容器,正在退出..." && sleep 3 && break
docker ps -a
read -p "请输入要停止、删除的完整的容器名,或按ctrl+c结束:" rq && [ -e $rq ] && continue
st=docker ps -a |tail -$y |grep "$rq" |cut -c1-12 |head -1
[ -e $st ] && echo "\033[31m$rq\033[0m不在容器中,容器中有以下服务:" && continue
dd="docker stop $st" && d
docker stop "$st" && a
dd="docker rm -f $st" && d
docker rm -f "$st"
done
}
x=docker ps -a |wc -l && let y=x-1
for i in seq $y
do
read -p "输入:[ls列出可以删除的docker容器][q退出]:" abc
case $abc in
q)
break;;
ls)
gn;;
*)
echo "输入不合法!" && gn;;
esac
done

docker的安装,自己写了一个安装docker的脚本,辅助做docker安装的实验(ubuntu)的更多相关文章

  1. 今天我自己第一次写了一个Windows批处理bat脚本,一起学习一下吧。

    今天我自己第一次写了一个Windows批处理bat脚本,备注一下 事情原由:自己使用Java开发了一个加解密的工具.但是当把工具给别人使用的时候,别人还需要把代码编译打包, 然后还需要看一下代码里面的 ...

  2. 初学shell,今天遇到由wget下载到本地的网页源代码的乱码问题,无聊的写了一个转码的脚本

    今天用wget想下载文件,结果下载了一堆本地的index.html文件,一查看全是乱码,然后百度了一下,网页的编码格式大概有三种: 1.utf-8 2.gb2312 3.gbk 要在网页源码中的< ...

  3. 第一个Mac shell 小脚本

    大多数程序员都喜欢偷懒的,我也不例外.相信好多Android开发的coder 在网络http请求方面,会浪费很多时间在接口调试这里..有时候,自己写了一个小测试,行还好,不行的话,还要跟写后台的哥们一 ...

  4. 一个不错的shell 脚本教程 入门级

    一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂     建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行s ...

  5. 使用alpine的docker镜像下 dind 的方式安装dotnet core 的一个非dockerfile的方法

    1. 下载dind的镜像 docker pull docker:dind 2. 执行该镜像 docker run -it --privileged --name some-docker -d dock ...

  6. Docker安装以及运行第一个HelloWorld

      Docker安装以及运行第一个HelloWorld

  7. Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...

  8. OpenCV学习笔记(一)安装及运行第一个OpenCV程序

    1.下载及安装 OpenCV是一套开源免费的图形库,主要有C/C++语言编写,官网: http://opencv.org/ .在 http://opencv.org/downloads.html 可以 ...

  9. 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器

    系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...

随机推荐

  1. Jacoco代码覆盖率工具

    https://www.cnblogs.com/fnng/p/7923314.html https://my.oschina.net/wangmengjun/blog/974067

  2. 关于unicode汉字范围正则表达式的写法

    \u2E80-\u2EFF:CJK部首补充: \u2F00-\u2FDF:康熙部首: \u3000-\u303F:CJK标点符号: \u31C0-\u31EF:CJK笔划: \u3200-\u32FF ...

  3. Spring Boot 之 Redis详解

    Redis是目前业界使用最广泛的内存数据存储. Redis支持丰富的数据结构,同时支持数据持久化. Redis还提供一些类数据库的特性,比如事务,HA,主从库. REmote DIctionary S ...

  4. 如何设计一个LRU Cache

    如何设计一个LRU Cache? Google和百度的面试题都出现了设计一个Cache的题目,什么是Cache,如何设计简单的Cache,通过搜集资料,本文给出个总结. 通常的问题描述可以是这样: Q ...

  5. 我们为什么不愿意相信AI?

    人工智能--即AI已经变得越来越聪明,甚至能够预测未来.比如警察可以用AI来提前预判出犯罪的时间或地点,医生可以用AI预测病人最有可能心脏病发作或是中风.甚至研究人员还试图为AI添加上更多的想象力,因 ...

  6. windows的各种扩展名详解

    Windows系统文件按照不同的格式和用途分很多种类,为便于管理和识别,在对文件命名时,是以扩展名加以区分的,即文件名格式为: 主文件名.扩展名.这样就可以根据文件的扩展名,判定文件的种类,从而知道其 ...

  7. ES介绍与实践

    一.ES介绍 1.基础概念介绍 1. 索引:Elasticsearch中的“索引”有点像关系数据库中的数据库. 它是存储/索引数据的地方: 2.分片 shard “分片”是Lucene的一个索引. 它 ...

  8. Quartz Tutorial 11 - Miscellaneous Features of Quartz

    文章目录 Plug-Ins Quartz提供了一个接口(org.quartz.spi.SchedulerPlugin) 用于插入附加的功能. 与Quartz一同发布的,提供了各种实用功能的插件可以在o ...

  9. 从5个经典工作开始看语义SLAM

    本文试图概括Semantic SLAM的主要思路和近年工作,⻓期更新.但因水平有限,若有错漏,感谢指正. (更好的公式显示效果,可关注文章底部的公众号) Semantic SLAM 简介 至今为止,主 ...

  10. 教你如何去除电脑QQ聊天窗口上的广告?

    当打开QQ聊天窗口时,就如下图一样各种广告不停地闪啊闪的,我没强迫症但是我也不喜欢看. 像咱们这些没有钱开会员又不喜欢整天看电脑QQ聊天窗口上的广告的"穷人们".那该咋办呢?好了, ...