Docker入门实战

什么是docker?

在这里插入图片描述
是的,图片没有骗你,docker是一个开源的应用容器引擎。
在这里插入图片描述
我们可以将LinuxOS(Linux操作系统)看作是一个多功能的豪华别墅,里面的很多项目和依赖环境就像是别墅里的各种东西一样。

而docker就像是帮别墅分区,加工整理的泥瓦匠,可以将我们的不同项目及依赖环境打包在不同的区域(容器),使不同项目环境相互隔离,共同运行在同一台Linux宿主机上。

在这里插入图片描述

接下来看看Docker的整个体系模型是什么样的。
Docker体系模型

整个docker应用主要是由Docker客户端、Docker引擎、容器守护进程、docker镜像仓库四部分组成,对照下图在这里插入图片描述

  • 第一步:你要通过客户端输入你的命令,客户端负责将你的命令传送给docker引擎。
  • 第二步:docker引擎拿到命令后进去分析,去往镜像仓库查找数据科学镜像,如果在本地镜像仓库里找到了,就直接使用;找不到的话还要去DockerHub远端仓库去查找下载到本地仓库。
  • 第三步:Docker引擎将镜像文件交给Docker容器管理守护进程。
  • Docker容器管理守护进程根据拿到的镜像文件,启动shim容器管理进程,启动一个runC容器运行镜像文件。
那什么是镜像,什么是容器呢?
镜像:

简单来说,Docker镜像是一个不包含Linux内核的精简Linux操作系统,是基于UnionFS技术实现的一层一层的文件系统,是一个独立的、只读的、静态的模板文件。Docker镜像好比一本书,是静止的文本,你只可以阅读它。

Docker镜像文件是分层组建的,通过向基础镜像文件上堆叠多个不同的镜像层,可以搭建不同的运行环境,同时他们又共用同一个基础镜像文件或共用其他镜像文件。

在这里插入图片描述


* 任何一层镜像文件都是独立的,只读的,静态的文件模板。

容器:

容器是在镜像层的顶层加入可写层,是镜像运行时的实体。

容器记录着所有对文件系统的改动,文件系统的改动记录在容器层内,之下的镜像层都是只读的文件层,实际没有改动。

在这里插入图片描述
容器运行在怎样的镜像环境就等同于拥有这个镜像系统所具有的全部开发环境,容器记录着对镜像文件的修改,实际的镜像文件并没有真正的修改,一单删除容器,所有的文件修改记录也就随之丢失了。

安装Docker
  • 查看环境中有无安装docker

    docker version --查看docker版本
    systemctl status docker --查看docker的状态
    systemctl stop docker --停止docker
    yum list installed |grep docker 查看yum安装的docker包
    rpm -qa |grep docker 查看docker相关的ypm源文件
    yum -y remove docker-cl.x86_64(根据本身版本进行删除)–删除所有安装的docker包


这里有个centos8的坑:
- - 可能在yum undate时,出现以下情况

[root@autocontroller ~]# yum update
CentOS-8 - AppStream 70 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
  1. /etc/yum.repos.d目录下这三个文件,看是否被重命名
    CentOS-Base.repo
    CentOS-AppStream.repo
    CentOS-Extras.repo
  2. 在当前目录下运行:
[root@autocontroller ~]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
[root@autocontroller ~]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

  • 安装docker
  1. sudo yum update

  2. sudo yum install -y yum-utils

  3. sudo yum install -y device-mapper-persistent-data lvm2

    yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    在这里插入图片描述

  4. 设置yum源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
  1. 安装docker
$ sudo yum install docker-ce  //由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

在这里插入图片描述

  1. 启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
  1. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version

docker就安装完成啦!

启动docker
  1. 查看docker状态
systemctl status docker
  1. 启动docker
systemctl start docker
docker安装nginx
  1. docker search nginx
  2. docker pull nginx
  3. docker run -d -p 8055:80 nginx
  4. 访问,启动成功。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值