当前位置: 首页 > article >正文

C06S01-Docker架设

一、Docker

1. Docker概述

微服务是一类不是以完整物理机为基础的服务软件,而是借助宿主机的性能,以小量的形式,单独部署应用。

Docker是一个开源的应用容器引擎,基于go语言开发的,使用Apache的协议,是在linux里面运行的容器化的开源工具。是一种轻量级的虚拟机。

Docker的图标是一个托着集装箱的鲸鱼,鲸鱼代表着宿主机,集装箱表示一个个独立的应用。每个应用之间都是互相隔离和独立的。
Docker的设计宗旨:封装、发布、部署、运行、销毁。

每个Docker应用都是单独运行的,该技术是基于Linux系统的namespace而实现。namespace是Linux内核的一种特性,允许将一组系统资源进行隔离,使得每个namespace中的进程看似在系统中拥有独立的资源。

Linux有六个命名空间:

命名空间说明
UTS隔离主机和域名
PID隔离进程
NETWORK隔离网络设备、网络栈、端口
MOUNT隔离挂载点
IPC隔离信号量、消息队列、共享内存
USER隔离用户、用户组

Docker三大核心概念:仓库、镜像、容器。仓库技术用于存储镜像的地方,也是获取镜像和上传镜像的地方;镜像是创建容器的基础,一个镜像就类似一个可执行的、包含源码的二进制包,包括容器允许的参数、设置、环境变量和配置文件等;容器是基于镜像创建的运行实例。

2. Docker安装

  1. 安装所需工具。

    apt-get -y install ca-certificates curl gnupg
    
  2. 信任Docker公钥。

    install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    chmod a+r /etc/apt/keyrings/docker.gpg
    
  3. 写入Docker软件源,并更新软件源列表。

    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    apt update
    
  4. 安装指定版本的Docker。

    apt -y install docker-ce=5:24.0.1-1~ubuntu.22.04~jammy docker-ce-cli=5:24.0.1-1~ubuntu.22.04~jammy containerd.io docker-buildx-plugin docker-compose-plugin
    
  5. 配置文件/etc/docker/daemon.json,设置镜像加速地址。

    {
        "registry-mirrors": [
        	"https://docker.unsee.tech",
            "https://dockerpull.org",
            "https://docker.1panel.live",
            "https://dockerhub.icu"
        ]
    }
    

    保存文件后,更新系统的服务管理,并重启Docker服务。

    systemctl daemon-reload
    systemctl restart docker
    

二、常用命令

1. 镜像操作命令

  1. 拉取镜像。

    docker pull 镜像名称[:镜像标签]
    
  2. 查看镜像。

    docker images
    
  3. 保存镜像。

    docker save 镜像名称[:镜像标签] -o 文件名
    
  4. 导入镜像。

    docker load -i 文件名
    
  5. 删除镜像。

    docker rmi [-f] 镜像名称[:镜像标签]
    

2. 容器操作命令

  1. 创建并启动容器。

    docker run [选项] 镜像名称[:镜像标签] [命令]
    
    • 常见选项:

      • -i:交互模式运行容器,通常与-t配合使用。

      • -t:分配一个伪终端,通常与-i配合使用。

      • -d:后台运行容器。

      • –name:设置容器名称。不手动设置,会由系统分配。

      • -P:随机端口映射,随机映射一个宿主机的端口到容器端口。

      • -p:指定端口映射,指定映射宿主机端口到容器端口。

    • 命令:用于指定容器启动后要执行的命令,不设置则会执行默认的命令。

  2. 查看容器。

    docker ps [选项]
    
    • 常见选项:
      • -a:列出所有容器。没有这个选项就只列出正在运行的容器。
  3. 查看容器的详细信息。

    docker inspect 容器名称或容器ID
    
  4. 进入容器。

    docker exec -it 容器名称或容器ID /bin/bash
    
  5. 删除容器。

    docker rm [-f] 容器名称或容器ID
    

http://www.kler.cn/a/534738.html

相关文章:

  • bat脚本实现自动化漏洞挖掘
  • 在线教程丨YOLO系列10年更新11个版本,最新模型在目标检测多项任务中达SOTA
  • Qt的QTableWidget类的声明定义和使用
  • GB/T 44721-2024 与 L3 自动驾驶:自动驾驶新时代的基石与指引
  • AWS门店人流量数据分析项目的设计与实现
  • k8s集群
  • 前端知识速记:重绘和回流
  • 自然世界的数字原理
  • 文件上传到腾讯云存储、签名及设置过期时间
  • 算法日记13:SC41树状数组(区间修改)
  • C语言程序设计P7【结构体和共用体】——定义和使用结构体、使用结构体数组、结构体指针、链表、共用体、枚举类型
  • c语言对应汇编写法(以中微单片机举例)
  • java时间相关类
  • 微信小程序~电器维修系统小程序
  • 【redis】数据类型之list
  • 深入解析色度二次采样 —— 4:4:4、4:2:2 和 4:2:0 的技术分析
  • API接口开发分享一些在实际开发中获取京东商品价格信息的方法
  • 【LeetCode】day15 142.环形链表II
  • 微服务知识——微服务拆分规范
  • 全能型免费内网穿透工具,全面支持macOS、Windows、Linux及Docker系统
  • 深入了解 MySQL:从基础到高级特性
  • 【实用技能】如何使用 DHTMLX JavaScript 组件加速初创企业发展?
  • 获取阿里云nacos注册接口状态
  • OpenHarmony的ArkTS如何进行JSON字符串的解析工作
  • 02-合并两个有序数组
  • 央行发布《贸易金融分布式账本技术要求》,参考架构包括5部分