docker 基础认识及基础命令

docker

一、概述

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

而 Linux 容器是 Linux 发展出了另一种虚拟化技术,简单来讲, Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离,相当于是在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。

Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker ,就不用担心环境问题。

总体来说, Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

二、docker三要素

1、仓库

Docker 仓库是集中存放镜像文件的场所。镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry (仓库注册服务器)就是这样的服务。有时候会把仓库 (Repository) 和仓库注册服务器 (Registry) 混为一谈,并不严格区分。Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。实际上,一个 Docker Registry 中可以包含多个仓库 (Repository) ,每个仓库可以包含多个标签 (Tag),每个标签对应着一个镜像。所以说,镜像仓库是 Docker 用来集中存放镜像文件的地方类似于我们之前常用的代码仓库

2、镜像

镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是 Docker 的核心。Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

3、容器

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

三、安装docker

安装docker 分为几个步骤 我们一起来看下吧

首先第一步我们需要

安装依赖包

利用yum安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置下载docker的镜像源,双向选择 可以使用阿里云的镜像源,也可以使用官方的镜像源,看个人怎么选择

[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

安装docker

yum makecache fast 将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度

yum -y install docker-ce

docker-ce是docker团队认证、docker团队维护的一个社区版发行包,两者使用相同的包管理,docker-ce是所有 依赖包由docker团队管理,可以保证docker运行的稳定,适合作为纯docker管理的生产环境,即整个系统只有一个docker在跑,剩下所有应用都通过发布docker的容器来部署。docker企业版是docker-ee

[root@docker ~]# yum makecache fast
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

  • base: mirrors.aliyun.com
  • extras: mirrors.aliyun.com
  • updates: mirrors.aliyun.com
    base | 3.6 kB 00:00:00
    docker-ce-stable | 3.5 kB 00:00:00
    epel | 4.7 kB 00:00:00
    extras | 2.9 kB 00:00:00
    updates | 2.9 kB 00:00:00
    (1/2): docker-ce-stable/x86_64/primary_db | 46 kB 00:00:00
    (2/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:00
    元数据缓存已建立

[root@docker ~]# yum -y install docker-ce

启动docker,设置为开机自启

service docker start和systemctl start docker.service都可以

验证安装

docker version/docker --version 查看版本信息,version更加详细(官方软件源默认启用了最新的软件)

[root@docker ~]# docker version
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:03:45 2020
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:21 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

[root@docker ~]# docker --version
Docker version 19.03.13, build 4484c46d9d

四、镜像加速

这个需要在官网寻找自己的加速器
首先登陆阿里云官网:https://www.aliyun.com/?utm_content=se_1000301881‘
每个人的加速器地址都不一样。

重新加载配置,重启docker

[root@docker docker]# systemctl daemon-reload
[root@docker docker]# systemctl restart docker

五,镜像的操作

1、搜索镜像

docker search tomcat
在这里插入图片描述

2、拉取镜像

[root@docker ~]# docker pull tomcat

3、查看镜像

[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest f796d3d2c195 4 days ago 647MB
nginx latest 7e4d58f0e5f3 9 days ago 133MB
busybox latest 6858809bf669 11 days ago 1.23MB
centos 7 7e6257c9f8d8 5 weeks ago 203MB

docker inspect tomcat:latest
docker inspect f796d3d2c195

使用 inspect 命令查看镜像详细信息,包括制作者、适应架构、各层的数字摘要等,后面可以跟镜像名也可以跟ID

在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页