【docker】docker

目录

        • 一、docker概念
        • 二、docker安装(centos7)
        • 三、docker架构
          • 3.1 镜像image
          • 3.2 容器container
        • 四、配置docker镜像加速器
        • 五、docker命令
          • 5.1 docker服务命令
          • 5.2 docker镜像命令
          • 5.3 docker容器命令
        • 六、docker容器的数据卷
          • 6.1 容器卷概念及作用
          • 6.2 配置数据卷
          • 6.3 挂载示例
          • 6.4 数据卷容器
          • 6.5 配置数据卷容器

一、docker概念

  • 1.docker是一个开源的应用容器引擎
  • 2.诞生于2013年初,基于GO语言实现,dotCloud公司出品(后改名为Docker Inc)
  • 3.docker可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,发布到任何流行的linux机器上
  • 4.容器是完全使用沙箱机制,相互隔离
  • 5.容器性能开销极低
  • 6.docker从17.3版本之后分为CE(Community Edition:社区版)和EE(Enterprise Editon:企业版)
  • 7.docker可以运行在mac、window、centos、ubuntu等操作系统

二、docker安装(centos7)

  • 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
yum install -y docker-ce
  • 5.查看docker版本,验证是否成功
docker -v

三、docker架构

3.1 镜像image
  • 1.docker镜像,相当于是一个root文件系统
  • 2.比如官方镜像ubuntu:16.04就包含了完整的一套ubuntu16.04最小
3.2 容器container
  • 1.镜像和容器的关系,就像面向对象程序设计中的类和对象,镜像是静态的定义,容器是镜像运行时的实体
  • 2.容器可以被创建、启动、停止、删除、暂停等

四、配置docker镜像加速器

  • 1.默认情况下,从docker hub(https://hub.docker.com)下载docker镜像,速度很慢,一般会配置镜像加速器

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

  • 3.阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,将修改代码拷贝到linux中执行即可
    在这里插入图片描述

  • 4.网易云

  • 5.腾讯云

五、docker命令

5.1 docker服务命令
  • 1.启动docker服务
sudo systemctl start docker
  • 2.停止docker服务
sudo systemctl stop docker
  • 3.重启docker服务
sudo systemctl restart docker
  • 4.查看docker服务状态
systemctl status docker
  • 5.设置开机启动docker服务
systemctl enable docker
5.2 docker镜像命令
  • 1.查看镜像
docker images

//REPOSITORY:仓库,镜像的名称
//TAG:版本,latest最新版本
//IMAGE ID:镜像id
//CREATED:创建时间
//SIZE:大小
  • 2.搜索镜像
// 搜索redis镜像
docker search redis
  • 3.拉取镜像
// 拉取redis镜像
docker pull redis 默认下载最新版本的redis镜像
docker pull redis:5.0 下载5.0版本的redis
  • 4.删除镜像
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
redis        latest    7614ae9453d1   19 months ago   113MB

docker rmi  7614ae9453d1   // 按镜像id删除
docker rmi  redis:5.0   // 按版本号删除
  • 5.查看所有镜像的id
docker images -q

在这里插入图片描述

  • 6.删除所有镜像
docker rmi `docker images -q`
5.3 docker容器命令
  • 1.查看容器
// 查看正在运行的容器
docker ps

// 查看所有容器
docker ps -a

  • 2.创建容器
docker run 参数

-i:保持容器运行。通常与-t同时使用。加入t这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t::为容器重新分配一个伪输入终端,通常与-i同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec 进入容器。退出后,容器不会关闭
-it创建的容器一般称为交互式容器
-id创建的容器一般称为守护式容器
--name:为创建的容器命名
  • 3.进入容器
// 进入容器名为mysqlserve容器
docker exec -it mysqlserve /bin/bash
// 退出容器
exit;
  • 4.启动容器
// 启动指定容器名的容器
docker start mysqlserve
  • 5.停止容器
// 停止指定容器名的容器
docker stop mysqlserve
  • 6.删除容器
// 删除指定名字的容器
docker rm mysqlserve
// 删除指定id的容器
docker rm 43a987902e8f
// 删除所有容器
docker rm `docker ps -aq`

// 正在运行的容器无法删除,需要停止容器才能删除, -f 强制删除
docker rm mysqlserve -f

在这里插入图片描述

  • 7.查看容器信息
docker inspect mysqlserve
  • 8.查看容器id
docker ps -aq

六、docker容器的数据卷

6.1 容器卷概念及作用
  • 1. 数据卷:是宿主机中的一个目录或文件
  • 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步
  • 3.一个数据卷可以被多个容器同时挂载
  • 4.一个容器可以被挂载多个数据卷
6.2 配置数据卷
  • 1.创建启动容器时,使用-v参数来设置数据卷
  • 2.docker run … -v 宿主机目录(文件): 容器内目录(文件)…
  • 3.目录必须是绝对路径
  • 4.如果目录不存在,会自动创建
  • 5.可以挂载多个数据卷
  • 6.挂载的数据会持久化,即使容器销毁,挂载的目录或文件还会存在
6.3 挂载示例
docker run -it --name=容器名 -v ~/data1:/root/data1 -v /root/data2:/root/data2 centos:7
6.4 数据卷容器
  • 1.多容器进行数据交换
  • 2.多个容器挂载同一个数据卷
6.5 配置数据卷容器
  • 1.创建启动c3数据卷容器,使用-v参数 设置数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash
  • 2.创建启动c1和c2容器,使用–volumes-from参数设置数据卷
docker run -it --name=c1 --volumns-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumns-from c3 centos:7 /bin/bash

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/43881.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 屏幕适配各种宽高比的手机

由于android 手机的屏幕宽高比样式太多了,在设计UI时,很多时候,会因为宽高比,分辨率不同会有展示上的差异。 我是这样解决的 在activity的onCreate方法前,调用: fun screenFit(context: Context) {val me…

深度学习中标量,向量,矩阵和张量

1.标量(Scalar) 只有大小没有方向,可用实数表示的一个量 2.向量(Vector) 可以表示大小和方向的量 3.矩阵(Matrix) m行n列,矩阵中的元素可以是数字也可以是符号,在深度学习中一般是二维数组 4.张量(Tensor) 用来表示一些向量、标量和其他张量之间的…

详解zookeeper安装使用

目录 1.概述 1.1.功能 1.2.特点 1.3.数据结构 2.安装 2.1.Windows 2.2.Linux 3.基础操作 3.1.增 3.2.删 3.3.改 3.4.查 3.5.监听 4.JAVA操作Zookeeper 4.1.依赖 4.2.客户端 4.3.增 4.4.删 4.5.查 4.6.改 1.概述 1.1.功能 zookeeper,Apache旗下…

K8S初级入门系列之二-集群搭建

一、前言 为了更好学习K8S,建议自行搭建一套K8S的环境,目前比较流行的有两种搭建工具,一种是单机版的minkube,一种是集群版的kubeadm。minkube更多是用于实验环境,且单机版隐藏了很多细节,而kubeadm更贴近实…

【C语言】指针---初阶

🍁 博客主页:江池俊的博客 🍁收录专栏:C语言——探索高效编程的基石 🍁 如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 目录 一、指针是什么? 1.1指…

2min搞定 mac pycharm新建导入python项目

mac pycharm新建和导入python项目&虚拟环境配置&下载类库 一、通用设置step1 、通过自定义配置,指定默认虚拟环境变量step2、设置虚拟环境和指定默认工作空间step3 、导入或者新建python项目 二、pycharm新建python项目step1、点击新建【file->newProjec…

抖音、美团、华为“巧”搅支付春水

配图来自Canva可画 如今,移动支付已经成了当下最流行的支付方式,从小吃店到大商超,从地铁、公交到飞机、高铁,移动支付的应用场景层出不穷,可以说,现代人的生活已经离不开移动支付了。而在此背景下&#x…

动态内存常见的问题

对空指针的解引用 改正后的代码: 返回栈(临时变量)空间地址的问题 释放空间后及时把指针设为空 void Test(void) {char* str (char*)malloc(100);strcpy(str, "hello");free(str);str NULL;//释放空间后及时把指针设为空if (s…

25-30天每日强训选择题改错解析

int i5; int s(i)(i)(i–)(–i); s( )//s 的值是什么? A 28 B 25 C 21 D 26 E 24 F 23 正确答案: E 5775 24 或者 --在后先不变化数值 -- 在前先变化再运算 以下哪项不属于java类加载过程? A 生成java.lang.Class对象 B int类型对象成…

【MySQL】存储引擎(六)

🚗MySQL学习第六站~ 🚩本文已收录至专栏:MySQL通关路 ❤️文末附全文思维导图,感谢各位点赞收藏支持~ 一.引入 大家可能没有听说过存储引擎,但是一定听过引擎这个词,引擎就是发动机,是一个机器…

疲劳驾驶检测和识别2:Pytorch实现疲劳驾驶检测和识别(含疲劳驾驶数据集和训练代码)

疲劳驾驶检测和识别2:Pytorch实现疲劳驾驶检测和识别(含疲劳驾驶数据集和训练代码) 目录 疲劳驾驶检测和识别2:Pytorch实现疲劳驾驶检测和识别(含疲劳驾驶数据集和训练代码) 1.疲劳驾驶检测和识别方法 2.疲劳驾驶数据集 (1)疲…

系统架构设计师-软件架构设计(2)

目录 一、基于架构的软件开发方法(ABSD) 1、架构需求 1.1 需求获取 1.2 标识构件 1.3 架构需求评审 2、架构设计 2.1 提出架构模型 2.2 映射构件 2.3 分析构件的相互作用 2.4 产生架构 2.5 设计评审 3、架构文档化 4、架构复审 5、架构实现 5.1 分析与…

探寻智能化未来:AI与Web3共创金融领域巨大潜力

人工智能(AI)和Web3技术的迅猛发展为我们带来了许多新的机遇和影响。在数字经济和社会的浪潮中,结合了AI的智能化能力和Web3的去中心化与区块链技术,我们将进入一个智能化的Web3时代。人工智能和Web3技术是开拓生产力极限和重新定…

LabVIEW使用支持向量机对脑磁共振成像进行图像分类

LabVIEW使用支持向量机对脑磁共振成像进行图像分类 医学成像是用于创建人体解剖学图像以进行临床研究、诊断和治疗的技术和过程。它现在是医疗技术发展最快的领域之一。通常用于获得医学图像的方式是X射线,计算机断层扫描(CT),磁…

记录安装stable diffusion webui时,出现的gfpgan安装卡住的问题

参考链接:(145条消息) 使用stable diffusion webui时,安装gfpgan失败的解决方案(windows下的操作)_新时代原始人的博客-CSDN博客

【Seata】微服务集成seata

文章目录 1、Seata介绍2、Seata架构3、部署TC服务4、微服务集成seata 1、Seata介绍 Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。 官网http://seata.io/ 2、Seata架构 Seata事务管理有三个角色: TC (Transaction Coordinator) - 事务…

UI 自动化的 PageObject 设计模式

目录 前言: 什么是 PageObject 模型? 为什么使用 PageObject 模型? PO 模式优点 PageObject 实践 前言: UI 自动化是一种软件测试方法,它主要用于检查应用程序的用户界面是否符合预期。PageObject 是 UI 自动化中…

信息安全与网络空间安全 - 保障您的在线安全

数据参考:CISP官方 目录: 信息与信息安全 信息安全属性 网络安全发展阶段 网络空间安全保障 一、信息与信息安全 1、什么是信息? 定义:信息是通过传递和处理的方式,用于传达知识、事实、数据或观点的内容。形…

华为盘古大模型:能源领域的颠覆性突破

近日,华为盘古大模型在能源领域横空出世,引发了广泛关注和期待。作为一项具有颠覆性影响的技术创新,华为盘古大模型在能源行业中展现出巨大的潜力和前景。其优质的计算能力和智能优化算法,将为能源产业带来翻天覆地的变革。 盘古大…

List集合类详解(附加思维导图)

目录 一、List集合思维导图 二、List集合类的常见方法 2.1、ArrayList集合常用方法 2.2、LinkedList集合常用方法 一、List集合思维导图 二、List集合类的常见方法 2.1、ArrayList集合常用方法 ①.add(Object element) 向列表的尾部添加指定的元素。 ②.size() 返回列表中…