• docker 介绍,安装,镜像操作, docker换源


    docker介绍

    # 什么是虚拟化
    # 版本:开源了,大家用,17年以后,两种版本
    docker-ce :免费版(公司用也是用ce)
    docker-ee:收费版
    
    # Docker 的基础是 Linux 容器(LXC)等技术:进程,文件隔离,在lxc基础上用go语言做了封装,更好用,更简单
    
    # 容器与虚拟机比较:看图说话
    # Docker 组件:
        -客户端-服务器(C/S)架构程序(mysql,redis),Navicat/pymysql:统统称为mysql客户端,底层基于socket,自己定制的协议
      -基于http协议,符合resful规范
      
      
    # Docker镜像与容器
    镜像:面向对象中的类,一堆文件:像当作容器的“源代码”。镜像体积很小,非常“便携”,易于分享、存储和更新   
    centos的镜像:只有几十个兆,就是一堆文件
    容器:面向对象中的对象,镜像运行起来就是容器,当成操作系统,装软件,一个执行环境(当成操作系统)  注意:容器的运行是基于镜像的,如果把镜像删了,容器就无法运行
    
    假设有一个centos的镜像---》跑成3个容器(当成操作系统)---》第一个容器装python;第二个容器装redis,第三个容器装mysql
    
    # 注册中心:
    -Registry(注册中心)---》咱么获取镜像的地方(搭建私服,公司自己用的镜像,网上没有,放在自己服务器上)
    
    # docker 保证了环境的统一
        -原来在新机器上部署django项目:python环境(版本),django环境(版本)
      -python环境(版本),django环境(版本)环境已经在镜像内了,跑在不同的linux服务器上,我的环境是统一的
      -开发测试环境跟上线环境完全一致

    安装

    # centos上安装:centos需要在7.0以上
    # windows/mac上自行解决(一般不用)
    
    # centos7 安装docker
    1 安装依赖
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    2 设置yum源为阿里云
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      
    3 安装
    sudo yum install docker-ce -y
    
    4 docker 版本:装的最新版
    docker -v
    Docker version 19.03.8, build afacb8b
    docker -v查看版本,如果是17年之前的,就是老版本,操作习惯不一样
    
    5 启动docker服务端:
        systemctl start docker  启动
      systemctl stop docker   停止
      systemctl restart docker  重启

    镜像相关

    # 镜像当成是一个没有启动的操作系统
    # redis镜像,mysql镜像,nginx镜像,django镜像,python镜像:linux+xx软件----》镜像跑起来--》容器:操作系统上运行着redis服务
    
    # 查找镜像:https://hub.docker.com/  官方网站
    docker search helloworld           # 等同于在官方网站搜索
    docker search centos                  # 尽量下载是offical官方的,防止不明添加文件,后门
    NAME     DESCRIPTION                    STARS          OFFICIAL         AUTOMATED
    centos  The official build of CentOS.   5956            [OK]            是否是自动构建
    # 获取镜像:  在官网Tags标签里可以看到对应的下载版本
    
    docker pull centos     # 拉取最新的:相当于docker pull centos:latest  
    docker pull centos:centos7  # 拉取一个centos7
    docker pull centos:centos6.7
    docker pull centos:centos10 # 这个 没有,就报错
      
    # 查看本地镜像
    docker images       # TAG版本                               # 创建时间(传到Registry的时间)
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              470671670cac        3 months ago        237MB
    centos              centos7             5e35e350aded        5 months ago        203MB
    
    # 删除本地镜像
    docker rmi 470671670cac  # 通过id号删除,可以少写,只要不重
    docker rmi centos:centos7 # 通过名字删除
      
      
    # docker rmi `docker images -q`     # 反引号表示 内部执行的结果
    相当于
    docker rim  470671670cac 5e35e350aded 

    docker换源

    #  将pull源进行更换
    vi  /etc/docker/daemon.json 
    
    {
        "registry-mirrors":[
            "https://kfwkfulq.mirror.aliyuncs.com",
            "https://2lqq34jg.mirror.aliyuncs.com",
            "https://pee6w651.mirror.aliyuncs.com",
            "http://hub-mirror.c.163.com",
            "https://docker.mirrors.ustc.edu.cn",
            "https://registry.docker-cn.com"
        ]
    }
    
    #  加载配置文件
    systemctl  daemon-reload
    
    #  重启docker的服务
    systemctl  restart  docker

    总结:

    # docker 是什么,软件 架构 c/s  http协议restful规范
    # 17年3月 docker-ce  docker-ee
    # 安装,启动 systemctl start docker (启动服务端)
    # 镜像和容器:一堆文件---》镜像运行就是容器---》当成一个操作系统
    # docker search (网站上去查)
    # docker pull 镜像名字
    # docker images 查看镜像
    # docker rm    删除/多个镜像
  • 相关阅读:
    jquery图片播放弹出插件Fancybox
    D3js-API介绍【英】
    ZOJ 3156 Taxi (二分匹配+二分查找)
    linux权限之su和sudo的差别
    CareerCup之1.6 Rotate Image
    [oracle]pl/sql --分页过程demo
    已迁移到http://www.coffin5257.com
    C# 之 集合ArrayList
    Java 序列化Serializable具体解释(附具体样例)
    Android 短信验证码控件
  • 原文地址:https://www.cnblogs.com/ludingchao/p/12788286.html
Copyright © 2020-2023  润新知