不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • python基础

  • python模块

  • django

  • flask

  • SYL

    • day01

    • day02

    • day03

    • day04

    • day05

    • day06

    • day07

    • day08

    • day09

    • day10

      • 01.搜索引擎工作原理
      • 02.课程全文检索接口
      • 03.安装docker
        • 04.docker基本使用
        • 05.使用ES替代whoosh全文检索
      • day11

      • day12

    • Celery

    • 微服务

    • python
    • SYL
    • day10
    xiaonaiqiang
    2021-03-10
    目录

    03.安装docker

    # 1.docker基本原理

    https://www.cnblogs.com/xiaonq/p/10241045.html

    # 1.1 毛线是docker?

    • 1.Docker是使用最广泛的开源容器引擎
      • 容器:
        • **1)**容器是一个操作系统级别下的虚拟化技术,运行一个容器就行运行一个进程一样
        • **2)**容器依赖linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
    • 2.一种操作系统基本的虚拟化技术
      • 我们使用的VMware虚拟机就是虚拟化技术
      • 一个操作系统下,虚拟出来,其他操作系统的机器
    • 3.一种简单的应用程序打包工具
    • 4.依赖Linux内核特性:Namespace(资源隔离) 和Cgroup(资源限制)
    docker run -itd -p 91:80 nginx
    
    1

    # 1.2 资源隔离和资源限制

    • 资源隔离:

      • 1)Linux Namespaces机制提供一种资源隔离方案,每个namespace看上去就像一个单独的Linux系统。
      • 2)PID,IPC(进程通信),Network等系统资源不再是全局性的,而是属于某个特定的Namespace。
      • 3)每个namespace下的资源对于其他namespace下的资源都是透明,不可见的。
      • 4)系统中可以同时存在两个进程号为0,1,2的进程,由于属于不同的namespace,所以它们之间并不冲突。
      • 5)而在用户层面上只能看到属于用户自己namespace下的资源,例如使用ps命令只能列出自己namespace下的进程。
      • 6)这样每个namespace看上去就像一个单独的Linux系统。
    • 资源限制:

      • 1)为了让容器中的进程更加可控,Docker 使用 Linux cgroups 来限制容器中的进程允许使用的系统资源。
      • 2)可以在启动容器是指定每个容器可以使用的网络、磁盘、CPU以及内存 等

    # 2.ubuntu安装docker

    # 2.1 安装docker

    # 1.卸载旧版本
    sudo apt-get remove docker docker-engine docker.io containerd runc
    
    # 2.更新ubuntu的apt源索引
    # 修改apt国内源为中科大源
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list
    sudo apt update
    
    #3.安装包允许apt通过HTTPS使用仓库
    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common
    
    #4.添加Docker官方GPG key
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    #5.设置Docker稳定版仓库(国内使用都用用国内的源)
    #5.1 设置使用阿里云
    add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    #5.2 设置使用官方,很慢(不建议用这个)
    sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
        
    #6.添加仓库后,更新apt源索引
    sudo apt-get update
    
    #7.安装最新版Docker CE(社区版)
    sudo apt-get install docker-ce
    
    #8.检查Docker CE是否安装正确
    sudo docker run hello-world
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36

    # 2.2 docker默认是国外源可以设置成国内镜像源

    root@linux-node1 django-docker]# vim /etc/docker/daemon.json    # 设置docker镜像源
    {
        "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    或者
    {
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }
    
    [root@linux-node2 ~]# systemctl daemon-reload                   # 重载文件
    [root@linux-node2 ~]# systemctl restart docker                  # 重启docker生效
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    # 2.3 docker启动设置

    # 启动Docker服务并设置开机启动
    systemctl start docker
    systemctl enable docker
    
    1
    2
    3

    # 2.4 docker简单使用(创建一个ngixn容器)

    # 1、创建一个nginx容器
     docker run -it nginx
     
     # 2、查看docker运行的容器(可以获取到这个容器的id)
     docker ps
     
     # 3、访问这个容器
     # 进入这个nginx容器(进入的文件系统和宿主机是完全隔离的,有自己独立的文件系统)
     docker exec -it 73877e65c07d bash
     
     # 4、查看当前容器的 IP
     docker inspect 73877e65c07d   # 73877e65c07d是通过docekr ps查看到的容器ID
     curl 172.17.0.2               # 测试这个nginx容器是否可以访问
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    上次更新: 2024/3/13 15:35:10
    02.课程全文检索接口
    04.docker基本使用

    ← 02.课程全文检索接口 04.docker基本使用→

    最近更新
    01
    04.数组双指针排序_子数组
    03-25
    02
    08.动态规划
    03-25
    03
    06.回溯算法
    03-25
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式