• Docker(上)(安装Docker、配置阿里镜像加速、Docker运行流程、Docker常用命令)


    在这里插入图片描述

    一、Docker概述

    1、什么是Docker

    Docker是世界领先的软件容器化平台
    Docker公司开发,开源,托管在github
    跨平台,支持Windows、MacOS、Linux

    在这里插入图片描述

    名词:

    • 镜像:Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

    • 容器容器的实质是进程容器技术从本质上讲是将程序隔离、打包的技术,类比:简易Linux

    • 仓库: 存镜像,一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

    2、为什么要用Docker

    在这里插入图片描述

    二、Docker安装

    Linux版本信息:
    在这里插入图片描述

    1、卸载旧版本

    较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。

    $ sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    / var / lib / docker /的内容(包括映像,容器,卷和网络)被保留。 Docker Engine软件包现在称为docker-ce。
    可以选择删除:

    $ sudo rm -rf /var/lib/docker
    
    • 1

    2、安装方式

    1、使用官方安装脚本自动安装

    国内 daocloud 一键安装命令:

    curl -sSL https://get.daocloud.io/docker | sh
    
    • 1

    2、手动安装

    使用 Docker 仓库进行安装

    在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

    设置仓库

    安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

    $ sudo yum install -y yum-utils
    #使用阿里云镜像地址
    $ sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Docker卸载

    1、卸载Docker Engine,CLI和Containerd软件包:

    $ sudo yum remove docker-ce docker-ce-cli containerd.io
    
    • 1

    2、主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

    $ sudo rm -rf /var/lib/docker
    
    • 1

    必须手动删除所有已编辑的配置文件。

    配置阿里镜像加速

    1、准备工作

    在这里插入图片描述
    在这里插入图片描述

    2、配置Docker配置文件,镜像加速

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["你的加速地址"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    在这里插入图片描述

    二、Docker运行流程

    在这里插入图片描述

    Docker底层原理

    1、Docker是如何运行的

    在这里插入图片描述

    2、Docker为什么比虚拟机快

    1、Docker有着比虚拟机更少的抽象层
    2、Docker用的是宿主机的内核,不用重新加载一个操作系统的内核

    在这里插入图片描述

    Docker容器

    虚拟机(VM)

    操作系统

    与宿主机共享OS

    宿主机OS上运行宿主机OS

    存储大小

    镜像小,便于存储与传输

    镜像庞大(vmdk等)

    运行性能

    几乎无额外性能损失

    操作系统额外的cpu、内存消耗

    移植性

    轻便、灵活、适用于Linux

    笨重、与虚拟化技术耦合度高

    硬件亲和性

    面向软件开发者

    面向硬件运维者

    三、Docker常用命令

    1、帮助命令:

    docker version   #查看版本信息
    docker info         #显示docker镜像容器信息
    docker --help      #查看Docker命令
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    2、镜像的基本命令

    1、查看本地镜像

    docker images [OPTIONS] [REPOSITORY[:TAG]]
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    2、搜索镜像

    docker search [OPTIONS] TERM
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    3、下载镜像

    docker pull [OPTIONS] NAME[:TAG|@DIGEST]tag:版本
    
    • 1

    在这里插入图片描述

    4、删除镜像

    1、删除指定镜像
    docker rmi -f 镜像ID/镜像名称
    
    • 1
    2、删除全部镜像
    docker rmi -f $(docker images -aq) #删除全部镜像
    
    • 1

    在这里插入图片描述

    3、容器的基本命令

    有了镜像才可以创建容器

    1、新建容器并启动

    docker run [可选参数] image
    
    • 1

    参数:

    --name-"Name"    容器名称,用来区分容器
    -d                            后台方式运行
    -it                            指定容器的端口
    -p                            指定容器的端口    -p 8080:8080
    -p 主机端口:容器端口
    -p 容器端口
    容器端口
    -p                            随机指定端口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、进入容器

    docker run -it 镜像名 /bin/bash(启动目录)
    
    • 1

    在这里插入图片描述

    3、退出容器

    不停止容器,退出

    Ctrl+p+q

    停止退出

    exit
    
    • 1

    4、查看容器进程

    docker ps
    
    • 1

    在这里插入图片描述

    5、删除容器

    docker rm 容器ID                        #不能删除在运行的容器
    docker rm -f $(docker ps -aq)   #删除所有的容器
    
    • 1
    • 2

    6、启动停止容器

    docker start 容器ID
    docker restart 容器ID #重启
    docker stop 容器ID
    docker kill 容器ID    强制停止
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    7、其他命令

    docker run -d 镜像
    #docker 后台运行 必须要有一个前台进程,如果没有前台应用就会自动停止
    
    • 1
    • 2

    查看日志

    docker logs
    
    • 1

    查看进程

    docker top 容器id
    
    • 1

    查看进程元数据

    docker inspect 容器id
    
    • 1

    从容器拷贝文件到主机

    docker cp 容器id:容器内的路径  目前主机路径
    
    • 1

    在这里插入图片描述

    可视面板

    文档:https://hub.docker.com/r/portainer/portainer

  • 相关阅读:
    大学生HTML作业篮球网页 HTML作业篮球网页期末作业 HTML+CSS篮球网页 HTML学生作业体育篮球网页
    Tire树实现
    官网下载mysql 8.0.27及安装
    [hive] 窗口函数 ROW_NUMBER()
    报错:HikariPool-1 - Exception during pool initialization.
    Teams Tab App 的 manifest 分析
    GPU驱动安装,CUDA安装相关问题
    数据结构——单链表的实现
    adb调试系统app
    MIR7创建预制发票BAPI
  • 原文地址:https://blog.csdn.net/m0_66557301/article/details/126327694