一、docker


1.概念介绍


虚拟化:

是一种资源的管理技术,将计算机中的实体资源,进行抽象,然后呈现出来,目的是为了打破实体结构之间的不可分割障碍,使用户以更好的组态使用资源

形象化形容如下:

我有一台电脑 32G内存 2T固态 16核的cpu 需要给4个人使用,
可以使用虚拟化技术将一台高配置的电脑,抽象虚拟出多个低配值的电脑

将三台低配置的电脑通过虚拟化技术,进行资源的重新分配,整合成一台稍微高性能的电脑


沙箱(沙盒):
沙盒 是一个纯净的环境

anaconda 就是以沙盒环境 针对的是Python环境
virtualenv python的虚拟环境

例子:
工作环境中:同时维护或者开发多个项目
A 基于django1.11
B 基于 django2.0
创建两个python环境 一个环境中装django1.11
另一个环境安装 2.0

vm:虚拟机软件 针对的是系统级的虚拟环境
docker: 针对的也是系统级的沙箱环境
提供独立的开发环境
安全性 沙箱环境可以随时关闭,所以不存在感染病毒,使用沙箱环境起到隔离的作用

docker 是一种新的虚拟化技术
特点:速度快 占用资源少


2.docker简介


docker使用集装箱的思想,在开发过程中犹豫每个人的教育背景,个人习惯不同,代码水平不一致。有的程序写在linux环境,有的代码写在windows环境,在开过程中没有问题,但是项目部署上线时,由于前面几种原因,会导致各种兼容问题,会大大影响项目的部署时间。为了避免以上问题,我们可以创建相同的虚拟环境,同时都在虚拟环境中开发,上线部署时,只需要将环境整个打包部署


3.docker和vm的区别


vm

docker

vm能够完成的事情 docker也能做 并且占用资源更少
vm 在使用时 必须创建独立系统和系统内核
docker 不会创建新的系统内核 使用源系统的内核

vm 在装虚拟环境的时候 需要重新创建一个系统的内核
docker 不会重新创建一个系统内核 和主机共用一个内核 节省了环境部署所损耗的资源,将这些资源给应用去使用
docker 速度更快 占用资源更少

server 服务器
host os 系统
hypervisor 管理程序
docker Engine 引擎
Guest os 虚拟机系统
bins.libs 系统依赖组件
app 应用

4.docker的安装


centos yum源中提供docker安装包

yum install docker -y

5.docker的基本操作


1.查看版本

docker --version


2.查看服务状态

systemctl status docker

3.启动和关闭服务

systemctl start docker
systemctl stop docker

6.docker的基本使用


镜像 images 封装好的一个docker实例,包含运行应用的依赖环境,和程序,只读的(相当于一个文件夹,但这个文件夹包含应用运行的依赖环境和程序,可以复制到别的地方,复制的就是镜像)

是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器,是由一层一层的系统文件组成

容器 container 用来打开,并使用景象,创建了虚拟环境。每个容器间是相互隔离的

仓库 registry 用来存放镜像

镜像一般存在远程仓库 docker hub
仓库分为公共库 私有库


二、镜像的操作


1.查看本地镜像


docker images


2.查找镜像


查看远程仓库的镜像 格式: docker search 镜像名

docker search mysql


3.拉取镜像


格式:docker pull 镜像的名字

镜像操作 两个: 一个拉取镜像pull 上传镜像push

例子:拉取有mysql应用的镜像

downloading 正在下载
download complete 下载完成
waiting 等待下载
Pull complete 下载完成

4.修改本地镜像的仓库名


格式:

docker tag 仓库名 新名字

5.删除镜像


格式:

docker image rmi 镜像id/镜像名
docker rmi 镜像id或者镜像名

三、容器的操作:


1.创建容器


第一种创建容器,不启动容器

格式:

docker create  -it --name=名字 镜像id  /bin/bash
-i 交互式
-t 容器启动后进入命令行
–name 要创建的容器名字
镜像id 使用镜像的id
/bin/bash 交互式采用shell终端

-i 和-t一起运行容器创建后就能登陆进去,并且分配一个伪终端


第二种:创建容器,并启动容器


格式:

docker run -dit --name 容器名 镜像id   /bin/bash
-d 守护进程,守护容器,exit也不会停止
run 创建容器后启动


2.启动容器(创建未运行时用create创建)


格式:

docker  start  -ai  容器名
-a 将当前的输入 输出连接到容器上面
-i 将当前的输入连接到容器上
start 开始


3.进入容器(用run创建)


格式:

docker exec  -it   容器名  /bin/bash

exec 进入容器
/bin/bash 进入执行的第一个命令 交互式采用shell终端

4.退出容器 :exit


5.查看容器


查看正在运行的容器
格式:

docker ps
docker container ls

查看所有的容器

docker ps  -a
docker container ls --all

6.停止/关闭容器


格式:

docker container stop 容器id或者容器名字


7.启动容器(正常启动容器)


格式:

docker container start  容器id或者容器名字


8.删除容器


格式:

docker container rm 容器ID或者容器名字

注意:正在运行的容器无法删除


9.杀死容器(相当于强制停止容器,没有删除容器)


格式:

docker container kill 容器ID或者容器名字


四、使用mysql镜像


第一步:

docker run -itd --name mysql01 -e  MYSQL_ROOT_PASSWORD=密码  镜像id

刚下的mysql镜像要通过-e 指定一个密码

指定端口号3306映射到的宿主机的33306

第二步:

docker exec -it mysql01 /bin/bash

第三步:

mysql -uroot -p123456



五、使用canda创建虚拟环境


conda create -n 虚拟环境的名字 python=指定版本

activate 虚拟环境名字

退出 deactivate


docker(虚拟化,沙箱(沙盒),简介,docker和vm的区别,安装,基本操作,基本使用) 镜像的操作 容器的操作 使用mysql镜像 使用canda创建虚拟环境相关推荐

  1. Docker 生产环境之使用可信镜像 - 在内容信任(content trust)沙盒中演示

    原文地址 本页面介绍了如何设置和使用沙盒(sandbox)进行信任实验.沙盒允许你在本地配置和尝试信任操作,而不会影响生产镜像. 在开始这个沙盒实验之前,应该仔细阅读 信任概述. 1. 先决条件 这些 ...

  2. Docker虚拟化命令实战

    Docker虚拟化命令实战 Docker典型命令演练 docker search命令实战 docker pull命令实战 docker images命令实战 docker run命令实战 docker ...

  3. 沙盒化容器:是容器还是虚拟机

    随着 IT 技术的发展,AI.区块链和大数据等技术提升了对应用毫秒级扩展的需求,开发人员也面临着的功能快速推出的压力.混合云是新常态,数字化转型是保持竞争力的必要条件,虚拟化成为这些挑战的基本技术. ...

  4. App应用双开技术,Android沙盒

    > App应用双开(多开)技术 微信分身,微信多开,微信双开- http://blog.csdn.net/yunajie/article/details/50894488 Android应用分身 ...

  5. 沙盒化容器:是容器还是虚拟机?

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 随着 IT 技术的发展,AI.区块链和大数据等技术提升了对应用毫秒级扩展的需求,开发人员也面临着的功能快速推出的压 ...

  6. 浏览器沙盒--它是什么,我们为什么需要它?

    全球各地的组织都有多种安全问题被破坏.这些问题不仅危害了敏感数据和信息,而且造成了巨大的经济损失.根据Statista的数据,在2020年,美国的数据泄露案件数量为1001起,而在同一年,超过1.55 ...

  7. Windows沙盒技术调研

    转载自:移动云开发者社区 一. Windows沙盒技术介绍 Windows沙盒提供了轻型桌面环境,可安全地隔离运行应用程序. 沙盒环境中Windows软件保持"沙盒"状态,并独立于 ...

  8. Docker容器化实战第二课 镜像、容器、仓库详解

    03 镜像使用:Docker 环境下如何配置你的镜像? 今天我将围绕 Docker 核心概念镜像展开,首先重点讲解一下镜像的基本操作,然后介绍一下镜像的实现原理.首先说明,咱们本课时的镜像均指 Doc ...

  9. 浅谈NPM,vm,vm2,Node.js沙盒逃逸

    NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. NPM由三部分组成:网站,注册表(registry),命令 ...

最新文章

  1. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv5训练自己数据集(v6.0)
  2. mysql计算秒_如何在MySQL中基于秒计算时间?
  3. IB component change - CL_IBCOMPONENT_IL~CHANGE_COMPONENT
  4. 关于c#:Filter Serilog日志取决于上下文源到不同的接收器?
  5. Spring中的Aop底层原理
  6. c++ 结构体初始化_单片机C语言 - 基于结构体的面向对象编程技巧
  7. java成神之——集合框架之ArrayList,Lists,Sets
  8. paip.ecshop邮件模板修改一个密码找回 一个留言回复
  9. 虚拟机下liunx安装jdk
  10. 简明python教程最新pdf_《简明Python教程》PDF高清 初学者的极佳教材 限时免费领取...
  11. 中文版-神羔羊配得(worthy is the lamb)MV
  12. 微信小程序 之 发布流程
  13. 从vue项目简单了解什么是SSR
  14. Java、JSP等足球俱乐部网站
  15. 北京5万份数字人民币红包来袭,系“冬奥试点”首次面向公众测试!
  16. Android 导出.vcf格式通讯录方法
  17. 全球首创,上海发布人工智能教材!00后要用新技能改变世界?
  18. 本硕博参考文献endnote插入,作者名全是大写怎么改。方法有2种
  19. Springboot中手动new的对象无法注入交给Spring容器管理的原因及解决办法
  20. 关于CCNA的培训课程(2)-- 路由器和交换机的基本配置

热门文章

  1. ffmpeg视频格式转换笔记
  2. A股沦为万人坑 《小股民之歌》在网络疯传
  3. Blender基础操作:边操作删除、倒角、环切、循环边、桥接循环边/面
  4. arch系列安装腾讯会议linux版本
  5. 家用IC卡燃气智能表行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. Hadoop读书笔记(四)HDFS体系结构
  7. Linux find 命令超详解
  8. 原生js的scroll和touch事件
  9. 原生js设置div隐藏或者显示_用js控制div的显示与隐藏
  10. 什么是性能测试,和压力测试、负载测试的区别是什么?