• docker之centos7安装docker


    目录

    1.前言

    2.docker安装

    2.1.docker安装

    2.2.组件更新

    3.基本命令

    4.docker使用初次体验


    1.前言

    Docker支持以下的CentOS版本:

    CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。检查版本需求。Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    [root@localhost ~]# uname -r
    //输出如下:
    3.10.0-1160.el7.x86_64
    
    • 1
    • 2
    • 3

    如果不满足版本要求,则需要进行升级,这里有两个命令:

    yum -y update
    
    • 1

    升级所有包,改变软件设置和系统设置,注意系统内核版本也会升级,因此如果需要升级使用改命令。

    yum -y upgrade
    
    • 1

    升级所有包,不改变软件设置和系统设置,系统版本升级,但是不改变内核

    Docker - Build, Ship, and Run Any App, Anywhere.

    Build Ship and Run
    Build(构建镜像) : 镜像就像是集装箱,包含文件以及运行环境等等资源;

    Ship(运输镜像) :在宿主机和仓库间进行运输,这里仓库就像是超级码头;

    Run (运行镜像) :运行的镜像就是一个容器,容器就是运行程序的地方。

    如何理解呢?

    比如传统的模式下,比如有一个ngnix服务搭建好了之后,需要发布此时会在发布环境安装对应的依赖包,比如openssl等,如果发布环境没有这些依赖信息则无法运行。而docker会将文件信息,环境依赖一起打包,这样只有有docker环境docker引擎,就Ok了,因此docker也俗称"软件打包技术",因此包括环境等都全部部署好了,一次构建出处运行。

    2.docker安装

    2.1.docker安装

    1. 卸载老版本的 docker 及其相关依赖

    sudo yum remove docker docker-common container-selinux docker-selinux docker-engine
    
    • 1

    2,更新yum

    yum update
    
    • 1

    3. 安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源

    sudo yum install -y yum-utils
    
    • 1

    4. 添加yum源

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1

    5. 更新索引

    注意更新索引的时候,centos7和centos8有所不同

    sudo yum makecache fast
    
    • 1

    centos8

    sudo yum makecache
    
    • 1

    docker有两种版本,一种是企业版ee需要付费使用,另一种是社区版ce,免费使用

    6. 安装 docker-ce

    centos8需要先安装依赖包,centos7可直接跳过下面两步直接安装docker-ce

      1. 获取rpm

      wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

    • 2)安装

      yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

      sudo yum install -y docker-ce

    7. 启动 docker

    sudo systemctl start docker
    
    • 1

    8. 验证是否安装成功

    sudo docker info
    
    • 1

    由于docker是C/S结构,使用如下命令查看一下

    docker version
    
    • 1

    这是因为服务端没有启动,因此启动一下服务端。

    [root@localhost ~]# systemctl start docker.service
    //同时设置为开机自启
    [root@localhost ~]# systemctl enable docker.service
    
    • 1
    • 2
    • 3

    此时再次查看docker服务

    这里展示为版本为为20年10月,同时开发语言使用的是golang(go lanage),使用的是community社区版。k8s也使用go语言开发的。

    2.2.组件更新

    安装docker-compose
    1 安装epel源

    yum install -y epel-release
    
    • 1

    2 安装docker-compose

    yum install -y docker-compose?
    
    • 1

    3.基本命令

    上面介绍了使用docker version命令,接着使用docker系统命令做一下了解

    docker system
    
    • 1

    docker info
    
    • 1

    展示了包括系统基本信息等,主要用于监控使用。

    4.docker使用初次体验

    docker主要有5部分组成。镜像,容器,仓库,网络和存储。

    以前安装ngnix一般会有以下的步骤:从官网上wget下载Ngnix源码包,tar命令解压,创建Nginx用户,编译安装,执行./configure,配置文件,启动等一系列操作,似乎有点麻烦。docker如何安装呢

    [root@localhost ~]# docker run -d -p 80:80 nginx
    Unable to find image 'nginx:latest' locally
    latest: Pulling from library/nginx
    
    • 1
    • 2
    • 3

    先检查本地是否有nginx,没有的话就会去远程仓库(国外)拉取,速度很慢,因此可以使用国内的镜像加速。在如下目录创建一个daemon.json文件用于存放加速器地址

    vim /etc/docker/daemon.json
    
    • 1

    配置如下:

    {
    "registry-mirrors": ["https://registry.docker.cn.com"]
    }
    
    • 1
    • 2
    • 3

    重启一下docker服务

    [root@localhost docker]# systemctl restart docker
    
    • 1

    接着再次运行nginx命令

    [root@localhost docker]# docker run -d -p 80:80 nginx
    
    • 1
    • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
    • -d nginx: 设置容器在在后台一直运行。

    接着使用命令查询一下,如果要查看所有已经安装的软件包,那么就采用指令:rpm -qa 这条指令将会把所有在系统中依旧安装的软件包显示出来。当然不便于我们查找我们想要的结果,这时就可以使用:rpm -qa | grep nginx模糊查询所有包名中有nginx的软件包

    [root@localhost ~]# rpm -qa|grep nginx
    [root@localhost ~]# 
    
    • 1
    • 2

    接着使用natstat查询一下网络

    [root@localhost ~]# netstat  -lntup
    
    • 1

    没有ngnix,因为ngnix运行在docker上的,再次使用docker info查看,确实有一个docker在运行

  • 相关阅读:
    Python基础笔记持续记录
    c#设计模式-行为型模式 之 命令模式
    MySQL的查询访问方式
    易基因|疾病研究:DNA甲基化和转录组学特征在高浆卵巢癌复发和耐药过程中高度保守
    javaWeb的概念、Web的资源分类、常见的Web服务器
    ELK专栏之IK分词器和Java api操作索引--05
    leetcode做题笔记173. 二叉搜索树迭代器
    JAVA计算机毕业设计运动会管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
    【Python入门与进阶】Anaconda环境配置
    第2章_freeRTOS入门与工程实践之单片机程序设计模式
  • 原文地址:https://blog.csdn.net/m0_66557301/article/details/126327370