• Docker


    1.docker概念

    • Docker 是一个开源的应用容器引擎

    • 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)

    • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上

    • 容器是完全使用沙箱机制,相互隔离

    • 容器性能开销极低

    • Docker总的来说是一种容器技术,解决软件跨环境迁移的问题

    2 .安装docker

    官网:https://www.docker.com

     1、yum 包更新到最新
    yum update
    2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
    yum install -y yum-utils device-mapper-persistent-data lvm2
    3、 设置yum源
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
     4、 安装docker,出现输入的界面都按 y
    yum install -y docker-ce
     5、 查看docker版本,验证是否验证成功
    docker -v

    3 .docker架构

     

     

     

    • 镜像(Image):Docker 镜像(Image),就相当于是 一个 root 文件系统。

    • 容器(Container):镜像(Image)和容器(Contain er)的关系,就像是面向对象程序设计中的类和对象一 样,镜像是静态的定义,容器是镜像运行时的实体。容 器可以被创建、启动、停止、删除、暂停等。

    • 仓库(Repository):仓库可看成一个代码控制中心, 用来保存镜像。

    4. 配置 Docker 镜像加速器

    (1):从docker hub(https://hub.docker.com/)上下载,但是很慢

    (2):配置镜像加速器

     ①:USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn

     ②:  阿里云(https://www.aliyun.com/

     ③:  腾讯云

     ④:  网易云

    下面是阿里云的镜像像加速器:

    只需要将里面的内容拷下来在命令窗口执行一下就可以了

     查看文件    cat/etc/docker/daemon.json

    5 .docker命令-基于CentOS7

     启动Docker服务:systemctl start docker

     查看状态: systemctl status docker

     停止Docker服务: systemctl stop docker

     重启Docker服务: systemctl restart docker

     开机启动Docker服务: systemctl enable docker 

     启动完Docker后,查看状态如图:

    停止后查看状态:

    6.Docker 镜像相关命令

    查看本地所有镜像: docker iamges 

    在远程仓库中搜索镜像: docker search  镜像名称

    拉取远程仓库中的镜像: docker pull 镜像名称:版本号 ,如果不指定版本号,默认是最新的版本latest

    当我们在拉取时不知道版本,这时可以去(https://hub.docker.com)中找;

    删除本地镜像: docker rmi 镜像id  删除指定的本地镜像 

    删除所有的本地镜像: docker rmi 'docker images -q'

    7.Docker容器相关命令

    查看正在运行的容器:docker ps 

    查看所有容器(不管运行还是关闭状态): docker ps -a

    创建并启动容器:docker run 参数

    • -i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。

    • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。

    • -d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭。

    • -it 创建的容器一般称为交互式容器,-id 创建的容器一般称为守护式容器

    • --name:为创建的容器命名。

    后面再加上 /bin /bash参数后,就是启动并进入容器,退出容器也就关闭容器;-也称为交互式容器

    守护式容器:docker run -id --name=r2  redis:5.0 

    执行命令后会将容器id输出

    进入容器: docker exec  -it r2  /bin /bash   , 通过-id创建的熔体 ,在exit退出时也不会关闭容器

    启动容器:docker start 容器名称或容器id

    停止容器: docker stop 容器名称或容器id

    删除指定容器:docker rm 容器名称或容器id

    删除所有容器: docker rm `docker ps -a -q`      

    查看容器信息:docker inspect 容器名称或容器id

    8.Docker容器的数据卷

    Docker 容器删除后,在容器中产生的数据也会随之销毁 ;

    Docker 容器和外部机器可以交换文件

    容器之间进行数据交互

    外部机器是不能直接与容器进行通信,但是可以与宿主机进行通信,比如linux。

    数据卷:

    • 数据卷是宿主机中的一个目录或文件

    • 当容器目录和数据卷目录绑定后,对方的修改会立即同步

    • 一个数据卷可以被多个容器同时挂载

    • 一个容器也可以被挂载多个数据卷

    数据卷的作用:

     • 容器数据持久化

     • 外部机器和容器间接通信

     • 容器之间数据交换

    9.配置数据卷

        创建启动容器时,使用-v参数 设置数据卷:docker run ... -v 宿主机目录(文件):容器目录(文件) ...

       当没有这个目录时,会自动创建

        例如run -it --name=r1 -v /root/data:/root/data_container redis:5.0 /bin/bash

     

  • 相关阅读:
    【C++】初始化列表构造函数VS普通构造函数
    eslint系统笔记
    揭秘.NET Core剪裁器背后的技术
    Win11共享文件打不开怎么办?Win11共享文件打不开的解决方法
    [重磅来袭] 功能强大的开源数据中台系统 DataCap 1.14.0 发布
    4-Arm PEG-DSPE,MW:2000,四臂-聚乙二醇-磷脂仅供科研实验使用
    【车辆分类】基于matlab的视频中车辆跟踪监测分类算法仿真,包括背景差分与帧间差分以及形态学处理
    使用java模拟文件管理系统,包含文件夹、文件的基本创建、删除、重命名、拷贝等操作
    获取医疗器械板块的个股列表
    1-丁基-3-甲基咪唑四氟硼酸[BMM]BF4|离子液体1-庚基-3-甲基咪唑六氟磷酸([HMIM][PF6])保存温度
  • 原文地址:https://www.cnblogs.com/cjxiaozhuang/p/16361539.html