Docker(一):初识

1、什么是Docker

Docker 是一个基于Go 语言并遵从Apache2.0协议开源的、轻量级的容器引擎,主要运行于 Linux 和 Windows,用于创建、管理和编排容器。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的服务器上。
Docker的主要目标是 Build, Ship and Run Any App, Anywhere,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境做到 一次封装,到处运行。是一个有助于做持续集成和整体发布的容器虚拟化技术。

Docker(一):初识

2、Docker为什么会出现

一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员来说都是极大的考验。
以传统的部署方式来说,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字节码等。而为了让这些程序可以顺利执行,开发团队需要准备完整的部署文件,编写部署文档,说明所需要使用的全部配置文件和相关的软件环境,让运维团队得以部署应用程序。不过,即便如此,仍然会发生部署失败的状况。
而Docker镜像的设计,使得Docker得以打破过去 程序即应用的观念,将包括系统核心在内,运行应用程序所需要的系统环境,由下而上打包成一个镜像(image)文件,使应用程序可以在各个平台间无缝接轨运行,即 一次封装,到处运行

3、Docker 和传统虚拟机技术的不同

  • 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
  • 而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
  • 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分各自的计算资源。

4、安装Docker

  • 安装流程已在下方
#1、安装依赖包
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#2、设置阿里云镜像源
    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#3、安装docker-ce
    sudo yum install docker-ce
#4、设置开机自启
    sudo systemctl enable docker
#5、启动docker服务
    sudo systemctl start docker
#6、配置镜像加速
    #(1)创建/etc/docker文件夹
        sudo mkdir -p /etc/docker
    #(2)创建/etc/docker/daemon.json文件
        vim /etc/docker/daemon.json  #如果文件不存在会新建
        #添加内容
        {
          "registry-mirrors": ["你的镜像加速地址"]
        }
    #(3)加载配置
        sudo systemctl daemon-reload
    #(4)重启docker
        sudo systemctl restart docker
#7、查看docker状态
    sudo systemctl status docker
#8、停止docker
    sudo systemctl stop docker
  • 在配置镜像加速的时候,有以下镜像加速地址(建议使用阿里云或网易镜像加速地址): (1)官方镜像: https://registry.docker-cn.com
    (2)网易镜像: http://hub-mirror.c.163.com
    (3)清华大学: https://mirrors.tuna.tsinghua.edu.cn/
    (4)搜狐镜像: http://mirrors.sohu.com/
    (5)阿里镜像:阿里镜像加速地址需要登录阿里云控制台获取,每个账号有唯一镜像加速地址。在控制台 --->镜像容器服务 --->镜像中心:镜像加速服务中获取。
  • 在第七步查看Docker运行状态时,看到以下控制台打印,即表示安装成功。

Docker(一):初识

5、永远的 HelloWorld

  • 安装好了之后,通过一个 HelloWorld实例来体验一下Docker的神奇之处。 这里我们使用Docker命令运行 HelloWorld实例: docker run hello-world

Docker(一):初识
  • 此时我们不禁思考,我们本机又没有 hello-world这个程序,为什么能直接使用 docker run这个命令去直接运行呢?别急,接下来给大家详细分析一下, docker run都做了什么。

6、 docker run 做了什么

在Docker中, docker run是一个非常重要的命令,主要功能是启动程序。下面通过为大家详细分析 run做了什么。

Docker(一):初识

总体来说, docker run的执行流程基本就是这样的,对于有不同理解的欢迎各位大佬探讨和指正。

这期分享主要是初步介绍和认识Docker,并进行安装和实际操作。
适合新人对docker有个初步的了解和认识。
我们下期见!!!

Original: https://www.cnblogs.com/jinsulive/p/15708582.html
Author: 夏慕槿苏
Title: Docker(一):初识

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/620061/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球