docker(虚拟化,沙箱(沙盒),简介,docker和vm的区别,安装,基本操作,基本使用) 镜像的操作 容器的操作 使用mysql镜像 使用canda创建虚拟环境
一、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创建虚拟环境相关推荐
- Docker 生产环境之使用可信镜像 - 在内容信任(content trust)沙盒中演示
原文地址 本页面介绍了如何设置和使用沙盒(sandbox)进行信任实验.沙盒允许你在本地配置和尝试信任操作,而不会影响生产镜像. 在开始这个沙盒实验之前,应该仔细阅读 信任概述. 1. 先决条件 这些 ...
- Docker虚拟化命令实战
Docker虚拟化命令实战 Docker典型命令演练 docker search命令实战 docker pull命令实战 docker images命令实战 docker run命令实战 docker ...
- 沙盒化容器:是容器还是虚拟机
随着 IT 技术的发展,AI.区块链和大数据等技术提升了对应用毫秒级扩展的需求,开发人员也面临着的功能快速推出的压力.混合云是新常态,数字化转型是保持竞争力的必要条件,虚拟化成为这些挑战的基本技术. ...
- App应用双开技术,Android沙盒
> App应用双开(多开)技术 微信分身,微信多开,微信双开- http://blog.csdn.net/yunajie/article/details/50894488 Android应用分身 ...
- 沙盒化容器:是容器还是虚拟机?
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 随着 IT 技术的发展,AI.区块链和大数据等技术提升了对应用毫秒级扩展的需求,开发人员也面临着的功能快速推出的压 ...
- 浏览器沙盒--它是什么,我们为什么需要它?
全球各地的组织都有多种安全问题被破坏.这些问题不仅危害了敏感数据和信息,而且造成了巨大的经济损失.根据Statista的数据,在2020年,美国的数据泄露案件数量为1001起,而在同一年,超过1.55 ...
- Windows沙盒技术调研
转载自:移动云开发者社区 一. Windows沙盒技术介绍 Windows沙盒提供了轻型桌面环境,可安全地隔离运行应用程序. 沙盒环境中Windows软件保持"沙盒"状态,并独立于 ...
- Docker容器化实战第二课 镜像、容器、仓库详解
03 镜像使用:Docker 环境下如何配置你的镜像? 今天我将围绕 Docker 核心概念镜像展开,首先重点讲解一下镜像的基本操作,然后介绍一下镜像的实现原理.首先说明,咱们本课时的镜像均指 Doc ...
- 浅谈NPM,vm,vm2,Node.js沙盒逃逸
NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准. NPM由三部分组成:网站,注册表(registry),命令 ...
最新文章
- 【目标检测】yolo系列:从yolov1到yolov5之YOLOv5训练自己数据集(v6.0)
- mysql计算秒_如何在MySQL中基于秒计算时间?
- IB component change - CL_IBCOMPONENT_IL~CHANGE_COMPONENT
- 关于c#:Filter Serilog日志取决于上下文源到不同的接收器?
- Spring中的Aop底层原理
- c++ 结构体初始化_单片机C语言 - 基于结构体的面向对象编程技巧
- java成神之——集合框架之ArrayList,Lists,Sets
- paip.ecshop邮件模板修改一个密码找回 一个留言回复
- 虚拟机下liunx安装jdk
- 简明python教程最新pdf_《简明Python教程》PDF高清 初学者的极佳教材 限时免费领取...
- 中文版-神羔羊配得(worthy is the lamb)MV
- 微信小程序 之 发布流程
- 从vue项目简单了解什么是SSR
- Java、JSP等足球俱乐部网站
- 北京5万份数字人民币红包来袭,系“冬奥试点”首次面向公众测试!
- Android 导出.vcf格式通讯录方法
- 全球首创,上海发布人工智能教材!00后要用新技能改变世界?
- 本硕博参考文献endnote插入,作者名全是大写怎么改。方法有2种
- Springboot中手动new的对象无法注入交给Spring容器管理的原因及解决办法
- 关于CCNA的培训课程(2)-- 路由器和交换机的基本配置