Docker
使用 Google 公司推出的 Go 语言 进行开发实现,基于Linux
内核的cgroup
,namespace
,以及AUFS
类的Union FS
等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于LXC
,从 0.7 以后开始去除LXC
,转而使用自行开发的libcontainer
,从 1.11 开始,则进一步演进为使用runC
和containerd
。
云原生是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps
等技术为基础建立的一套云技术产品体系。
云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等。
Docker
的优势
- 更高效的利用系统资源——无需额外系统开销
- 更快速的启动时间——秒级启动时间
- 一致的运行环境
- 持续交付和部署
- 更轻松的迁移
- 更轻松的维护和扩展——扩展自己
docker
镜像
一、安装 Docker
Mac
和 Win10
用户可以直接下载安装
Ubuntu
可以直接输入以下命令
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
安装完成后
Mac
用户可以看到 应用程序了如图:
Docker for Mac 安装阿里云加速器(因为墙的原因 所以安装加速器)
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
将它输入到刚刚上面图 填写网址的地方 重启 docker 然后在终端中查看加速器是否生效即可
如果出现这样的 那么你阿里云的加速器就配好了,下面就开始简单的应用
二、基本
1.查看所有镜像
docker images
2.拉取镜像
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>
由于我们用的阿里云的加速器 可以不指定网址拉取镜像直接指定景象名称来拉取
(这里我已经有了,就不做拉取演示了)
有了镜像那么如何新建一个容器和运行一个容器呢?
3.运行一个新容器并给它起个名字
docker run -it --name temp ubuntu:20.04
# -i 交互式操作
# -t 终端
# --name temp 容器起名字为temp
# ubuntu:16.04:这是指用 ubuntu:16.04 镜像为基础来启动容器。
输入 vim、git
等命令 看看是否是一个裸体(纯净)的容器
什么命令都没有,说明是一个很纯净的容器,我们首先换 apt
的源 清华大学源
cd /etc/apt
cp sources.list sources.list.bak
# 拷贝一个 sources.list原件 改名sources.list.bak
tee sources.list <<-'EOF'
然后把源的制定粘贴进去
#添加清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse
结束后输入 EOF
切源结束
apt-get update
# 更新源
apt-get install vim git
# 安装vim 和 git
查看一下 git
是否装好了
现在退出 容器 exit
这时候怎么进入刚刚的容器呢 如果还是输入docker run -it --name *** ubuntu:20.04
会发现进的还是一个新的 纯净的容器
4.查看容器列表
docker ps
# 查看启动了的容器
docker ps -a
# 查看所有的容器(启不启动都算)
5.启动容器
docker start temp
# temp可以是容器名或者id(id在ps命令中可以看到)
6.运行容器
docker exec -it temp bash
# -i 交互式操作
# -t 终端
# bash:放在镜像名后的是命令。这里我们希望有个交互式 Shell,因此用的是 bash(开启一个人机交互的窗口)。
作者也是在边学习边整理笔记中,年纪大了忘性也大,一是方便自己查阅,二是方便大家能快速的搭建…
希望我的博客对你们有所帮助,你的认可就是我最大的动力。