docker——简介+安装+基础命令+镜像加速+dockerfile

1.docker简介

Docker作为开源社区最火爆的项目,它是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”

2.Docker与虚拟机的区别

docker——简介+安装+基础命令+镜像加速+dockerfile_第1张图片
传统的虚拟化技术的体系架构
docker——简介+安装+基础命令+镜像加速+dockerfile_第2张图片
可见,我们在宿主机的操作系统上,可安装多个虚拟机,而在每个虚拟机中,通过虚拟化技术,实现了一个虚拟操作系统,随后,就可以在该虚拟操作系统上,安装自己所需的应用程序了。
我们知道,启动虚拟机就像启动一台计算机,初始化过程是相当慢的,需要等很久,才能看到登录界面。一旦虚拟机启动以后,就可以与宿主机建立网络连接,确保虚拟机与宿主机之间是互联互通的。不同的虚拟机之间却是相互隔离的,也就是说,彼此并不知道对方的存在,但每个虚拟机占用的都是宿主机的硬件与网络资源。

Docker技术的体系架构
docker——简介+安装+基础命令+镜像加速+dockerfile_第3张图片

可见,在宿主机的操作系统上,有一个 Docker 服务在运行(或者称为“Docker 引擎”),在此服务上,我们可开启多个 Docker 容器,而每个 Docker 容器中可运行自己所需的应用程序,Docker 容器之间也是相互隔离的,同样地,都是占用的宿主机的硬件与网络资源。
Docker 容器相对于虚拟机而言,除了在技术实现上完全不一样以外,启动速度较虚拟机而言有本质的飞跃,启动一个容器只在眨眼瞬间。不管是虚拟机还是 Docker 容器,它们都是为了隔离应用程序的运行环境,节省我们的硬件资源,为我们开发人员提供福利。

Docker的使用场景

现在需要能方便地创建运行在云平台上的应用,必须要脱离底层的硬件,同时还需要任何时间、地点可获取这些资源,这正是Docker所能提供的。
Docker的容器技术可以在一条主句上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。通过这种容器打包应用程序,意味着简化了重新部署、调试这些琐碎的重复工作,极大地提高了工作效率。
比如:服务器从腾讯云迁移到阿里云,如果采用了Docker容器技术,迁移只需要在新的服务器上启动需要的容器即可。

Docker的三大核心

1)Image(镜像)
镜像是创建docker容器的基础,docker镜像类似于虚拟机镜像,可以将它理解为一个面向docker引擎的只读模块,包含文件系统。镜像可以用来创建Docker容器,一个镜像可以创建多个容器

Docker提供了简单的机制来创建和更新现有的进行,用户也可以从网上下载已经做好的应用进行来直接使用。

2)Container(容器)
容器是从镜像创建的应用运行实例,容器之间是相互隔离、互不可见的。可以把容器看做一个简易版的linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在这个环境上的应用打包而成的应用盒子。它可以被启动、开始、停止、删除,每个容器都是相互隔离的、保证安全的平台

3)Repository(仓库)
Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用命令将它上传到公有仓库或私有仓库,这样一来当下次要在另外一条机器上使用这个镜像是,只需从仓库拉取下来即可!

仓库注册服务器是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一类镜像,并且使用不同的标签来区分它们。目前最大的公有仓库Docker Hub,存放了数量庞大的镜像提供用户下载使用。

总结:
**Docker本身是一个容器运行载体或称之为管理引擎,我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎image镜像文件。只有通过这个镜像文件才能生成Docker容器。image文件可以看作是容器的模板,Docker根据image文件生成的示例,同一个image文件可以生成多个同时运行的容器实例。**

**image文件生成的容器实例,本身也是一个文件。称之为镜像文件**

****一个容器运行一种服务。当我们需要的时候,就可以通过docker客户端建立一个对应的运行实例。也i就是我们的容器**

**至于仓库。就是放了一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候从仓库中拉下来就可以了**

安装Docker

1.检查内核版本,返回的值大于3.10即可。

[root@zjz ~]# uname -r

在这里插入图片描述
2. 如果安装过请先卸载,我这里没装过。

[root@zjz ~]# yum remove docker \
> docker-client \
>  docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
>  docker-logrotate \
> docker-engine

docker——简介+安装+基础命令+镜像加速+dockerfile_第4张图片
3.安装依赖

[root@zjz ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

docker——简介+安装+基础命令+镜像加速+dockerfile_第5张图片
4.设置yum仓库

[root@zjz ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

//查看docker-ce可用版本
yum list docker-ce.x86_64 --showduplicates | sort -r
//这里我们下载指定版本18.9.0,注意并没有采取阿里云官方推荐的方法, 我们分别下载了docker-ce,docker-ce-cli和containerd.io这3个组件。
yum -y install docker-ce-18.09.0-3.el7 docker-ce-cli-18.09.0-3.el7 containerd.io-1.2.10-el7

5.安装最新版本docker

[root@zjz ~]# yum -y  install docker-ce docker-ce-cli containerd.io

docker——简介+安装+基础命令+镜像加速+dockerfile_第6张图片
6.启动并加入开机启动

[root@zjz ~]# systemctl start docker
[root@zjz ~]# systemctl enable docker

在这里插入图片描述
7.验证是否安装成功

[root@zjz ~]# docker version

docker——简介+安装+基础命令+镜像加速+dockerfile_第7张图片
不过一般不需要那么多信息,所以一直用的是docker -v命令
在这里插入图片描述

————————————————————————————————————————————————————————————————————————————————安装完成了,也已经简单的测试过了———————————————————————————————————————————————————————————————

docker镜像加速

阿里云镜像获取地址:https://cr.console.aliyun.com/cnhangzhou/instances/mirrors,
登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
docker——简介+安装+基础命令+镜像加速+dockerfile_第8张图片
docker——简介+安装+基础命令+镜像加速+dockerfile_第9张图片

测试运行hello-world

docker——简介+安装+基础命令+镜像加速+dockerfile_第10张图片
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

docker常用命令

一.帮助命令

docker version
显示 Docker 版本信息。
docker info
显示 Docker 系统信息,包括镜像和容器数。
docker --help
docker 命令帮助

Commands:
    attach    Attach to a running container                 # 当前 shell 下 attach 连接指定运行镜像
    build     Build an image from a Dockerfile              # 通过 Dockerfile 定制镜像
    commit    Create a new image from a container's changes # 提交当前容器为新的镜像
    cp        Copy files/folders from the containers filesystem to the host path
              # 从容器中拷贝指定文件或者目录到宿主机中
    create    Create a new container                        # 创建一个新的容器,同 run,但不启动容器
    diff      Inspect changes on a container's filesystem   # 查看 docker 容器变化
    events    Get real time events from the server          # 从 docker 服务获取容器实时事件
    exec      Run a command in an existing container        # 在已存在的容器上运行命令
    export    Stream the contents of a container as a tar archive   
              # 导出容器的内容流作为一个 tar 归档文件[对应 import ]
    history   Show the history of an image                  # 展示一个镜像形成历史
    images    List images                                   # 列出系统当前镜像
    import    Create a new filesystem image from the contents of a tarball  
              # 从tar包中的内容创建一个新的文件系统映像[对应 export]
    info      Display system-wide information               # 显示系统相关信息
    inspect   Return low-level information on a container   # 查看容器详细信息
    kill      Kill a running container                      # kill 指定 

你可能感兴趣的:(docker,docker,dcoker常用命令,dockerfile,上传,下载镜像)