Docker基础

目录

Docker是什么?

docker基本概念

docker架构

Docker的发展简史

docker镜像与镜像仓库

安装及使用docker

安装docker

配置docker加速

docker操作命令

docker event state


Docker是什么?

官方翻译:
Docker是一个用于开发,交付和运行应用程序的开放平台。 Docker将应用程序与基础架构分开,从而可以快速交付软件。 通过利用 Docker的快速交付,测试和部署代码的方法,可以大大减少编写代码和在生产环境中运行代码之间的延迟。

    其实,Docker就是实现了一个快速轻量的虚拟机操作系统的解决方案,打包了app的的运行时环境,跑起来就是一个主机上的一个隔离的进程应用。这个运行时环境包括运行的二进制文件、系统环境、配置文件三个方面。一旦我们创建好应用,就能在任何地方部署和运行起来,方便快速交付和部署。Dockertag来标识不同版本的应用发布,结合git等版本管理工具,和Devops的流水线pipelines,非常适合持续集成(CI)和持续开发(CD)。

    顺带一提,CI的作用是产生可以部署的工件, 其中自动化测试的作用是验证给定版本代码的工件是否可以安全部署。CD将代码从源存储库迁移到生产的整个过程是完全自动化的。

docker基本概念

     docker是容器技术的一个前端工具,容器是内核的一项技术,docker只是把这一项技术的使用得以简化,使之普及而已。

     LXC进行大规模创建容器很难,想在另一台主机上复刻一个一模一样的容器也很难,而docker就是从这方面着手去找解决方案。所以docker早期的版本其核心就是一个LXC,docker对其进行了二次封装,功能的实现是通过LXC做容器管理引擎,但是在创建容器时,不再是像LXC一样用模板去现场安装,而是事先通过一种类似镜像技术,就像在KVM中一样,将一个操作系统打包成一个镜像,然后将这个镜像拷贝到目标主机上直接部署启动。

    我们可以尝试着把一个操作系统用户空间需要用到的所有组件,事先准备、编排好,编排好以后整体打包成一个文件,这个文件我们称其为镜像文件(image)。

    docker的镜像文件是放在一个集中统一的互联网仓库中的,把一些人们常用的镜像文件放在互联网仓库中,比如最小化的centos系统,有时我们需要在操作系统上安装一些应用,比如nginx,我们就可以在一个最小化的centos系统中安装一个nginx,然后将其打包成镜像,将其放在互联网仓库中,当人们想启动一个容器的时候,docker会到这个互联网仓库中去下载我们需要的镜像到本地,并基于镜像来启动容器。

    自docker 0.9版本起,docker除了继续支持LXC外,还开始引入自家的libcontainer,试图打造更通用的底层容器虚拟化库。如今的docker基本上都已经是使用libcontainer而非LXC了。

    从操作系统功能上看,docker底层依赖的核心技术主要包括Linux操作系统的命名空间、控制组、联合文件系统和Linux虚拟网络支持。

docker架构

Docker遵循客户端 - 服务器架构。 其架构主要分为三个部分。

docker架构图

    客户端(Client):DDocker 客户端通过命令行或者其他工具使用 Docker API与 Docker 的守护进程通信。Docker_Host:一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。Registry:Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker的发展简史

docker镜像与镜像仓库

    为什么镜像仓库名字是Registry而不是repository? 简单来说, Registry :注册服务器,用于管理 镜像 仓库,起到的是服务器的作用。 Repository : 镜像 仓库,用于存储具体的 docker镜像 ,起到的是仓库存储作用。

docker仓库

    镜像是静态的,而容器是动态的,容器有其生命周期,镜像与容器的关系类似于程序与进程的关系。镜像类似于文件系统中的程序文件,而容器则类似于将一个程序运行起来的状态,也即进程。所以容器是可以删除的,容器被删除后其镜像是不会被删除的。

安装及使用docker

安装docker

cd /etc/yum.repos.d/
curl -o docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i 's@https://download.docker.com@https://mirrors.tuna.tsinghua.edu.cn/docker-ce@g' docker-ce.repo
yum -y install docker-ce

配置docker加速

    docker-ce的配置文件是/etc/docker/daemon.json,此文件默认不存在,需要我们手动创建并进行配置,而docker的加速就是通过配置此文件来实现的。

docker加速有多种方式:

1、docker cn

2、中国科技大学加速器

3、阿里云加速器(需要通过阿里云开发者平台注册帐号,免费使用个人私有的加速器)

阿里云加速方法:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://22aw5slm.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

docker操作命令

命令功能
docker search在Docker Hub中搜索图像
docker pull从注册表中提取图像或存储库
docker images图像列表
docker create创建一个新的容器
docker start启动一个或多个停止的容器
docker run在新容器中运行命令
docker attach连接到正在运行的容器
docker ps容器列表
docker logs获取容器的日志
docker restart重新启动容器
docker stop停止一个或多个正在运行的容器
docker kill杀死一个或多个正在运行的容器
docker rm卸下一个或多个容器
docker exec在正在运行的容器中运行命令
docker info显示系统范围的信息
docker inspect返回有关Docker对象的低级信息

docker event state

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值