Docker 实操
---恢复内容开始---
一、简介
Linux容器作为一类操作系统层面的虚拟化技术成果,旨在立足于单一Linux主机交付多套隔离性Linux环境。与虚拟机不同,容器系统并不需要运行特定的访客操作系统。相反,容器共享同一套主机操作系统内核,同时利用访客操作系统的系统库以交付必要的系统功能。由于无需借助于专门的操作系统,因此容器在启动速度上要远远优于虚拟机。
上图是经典对比图,左图是传统的虚拟化,属于平台虚拟化(半虚拟化,硬件辅助虚拟化,软件全虚拟化)每个虚拟机运行在自己独立完整的操作系统;右图是容器,与虚拟机不同,容器系统并不需要运行特定的访客操作系统;
容器能够利用Namespaces、SELinux配置、chroot以及CGroups等Linux内核功能,从而交付一套类似于虚拟机的隔离性环境。Linux安全模块能够确保来自容器的主机设备与内核访问行为受到妥善管理,从而避免入侵活动的发生。除此之外,容器还能够通过其主机操作系统运行多种不同Linux发行版——只要各类操作系统拥有同样的底层CPU架构要求;
那么Docker 是开源基于LXC的高级容器引擎,基于go 语言开源,使用内核的cgroups(文件系统隔离)及namespace(一种命名方法);请记住Docker 是容器引擎,平常我们一般都说Docker 是容器,但是其本质别搞混了;
关于Docker及容器的介绍远远不止这些。。。。。。,回到我们的主题,是Docker 入门,通过本文,将学会基本的容器操作及环境配置;
二、安装及运行Docker(CentOS7.3):
1.安装:
[root@minion ~]# yum -y install docker
2.运行:
安装完成以后我们可以使用docker 这个命令,同时在上图中我们看到以下信息:
此时的Docker 是客户端,有版本,API版本,go 版本等信息,最重要的是最后的提示,此时的Docker Daemon 并未运行;
将Docker Daemon 运行后再次查看,可以查询到Server 的信息
3.帮助
4.查看本地仓库镜像
5.在dockerhub 上搜索镜像
6.拉取共享镜像
在拉取前需要更改/etc/docker/daemon.json(国内访问dockerhub速度你懂得,在这里使用了ustc的镜像加速)
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}
7.再次查看本地仓库:
哈哈,总算是把准备工作搞定了,其实准备工作里有很多细节性的东西,比如docker images 里有tag 标签,我们是可以指定标签名字的,如果使用Docker 私有仓库将会接触很多TAG,可以指定上传镜像TAG及下载镜像TAG;同样我们也可以定制自己的镜像,将一些常用服务做成镜像,那么在下次使用时就再也不用安装及配置啦;Docker 镜像是分层的,类似我们小时候用的字帖;
是的,容器运行需要:仓库、镜像、容器引擎
三、运行容器
1.运行一个名字为c1 的窗口,并获取一个shell
此时我们进入C1 容器的shell 在这里可以执行一些基本命令,
我们装一下ip 这个命令
---恢复内容结束---
一、简介
Linux容器作为一类操作系统层面的虚拟化技术成果,旨在立足于单一Linux主机交付多套隔离性Linux环境。与虚拟机不同,容器系统并不需要运行特定的访客操作系统。相反,容器共享同一套主机操作系统内核,同时利用访客操作系统的系统库以交付必要的系统功能。由于无需借助于专门的操作系统,因此容器在启动速度上要远远优于虚拟机。
上图是经典对比图,左图是传统的虚拟化,属于平台虚拟化(半虚拟化,硬件辅助虚拟化,软件全虚拟化)每个虚拟机运行在自己独立完整的操作系统;右图是容器,与虚拟机不同,容器系统并不需要运行特定的访客操作系统;
容器能够利用Namespaces、SELinux配置、chroot以及CGroups等Linux内核功能,从而交付一套类似于虚拟机的隔离性环境。Linux安全模块能够确保来自容器的主机设备与内核访问行为受到妥善管理,从而避免入侵活动的发生。除此之外,容器还能够通过其主机操作系统运行多种不同Linux发行版——只要各类操作系统拥有同样的底层CPU架构要求;
那么Docker 是开源基于LXC的高级容器引擎,基于go 语言开源,使用内核的cgroups(文件系统隔离)及namespace(一种命名方法);请记住Docker 是容器引擎,平常我们一般都说Docker 是容器,但是其本质别搞混了;
关于Docker及容器的介绍远远不止这些。。。。。。,回到我们的主题,是Docker 入门,通过本文,将学会基本的容器操作及环境配置;
二、安装及运行Docker(CentOS7.3):
1.安装:
[root@minion ~]# yum -y install docker
2.运行:
安装完成以后我们可以使用docker 这个命令,同时在上图中我们看到以下信息:
此时的Docker 是客户端,有版本,API版本,go 版本等信息,最重要的是最后的提示,此时的Docker Daemon 并未运行;
将Docker Daemon 运行后再次查看,可以查询到Server 的信息
3.帮助
4.查看本地仓库镜像
5.在dockerhub 上搜索镜像
6.拉取共享镜像
在拉取前需要更改/etc/docker/daemon.json(国内访问dockerhub速度你懂得,在这里使用了ustc的镜像加速)
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}
7.再次查看本地仓库:
哈哈,总算是把准备工作搞定了,其实准备工作里有很多细节性的东西,比如docker images 里有tag 标签,我们是可以指定标签名字的,如果使用Docker 私有仓库将会接触很多TAG,可以指定上传镜像TAG及下载镜像TAG;同样我们也可以定制自己的镜像,将一些常用服务做成镜像,那么在下次使用时就再也不用安装及配置啦;Docker 镜像是分层的,类似我们小时候用的字帖;
是的,容器运行需要:仓库、镜像、容器引擎
三、运行容器
1.运行一个名字为c1 的窗口,并获取一个shell
此时我们进入C1 容器的shell 在这里可以执行一些基本命令,
我们装一下ip 这个命令
是不是与在宿主机上没有区别呢
- 离开容器(为什么是离开,如果是退出,那么容器就挂了)
Ctrl+p+q
在这里能看到正在运行的容器,容器的ID 使用的镜像,执行的命令,创建时间以及它的名字
退出容器:
直接从容器退出后,docker ps 已经看不到了,那么
启动一个退出的容器
使用宿主机停止容器
删除容器
先停止再删除
面docker rm “ID编号”与docker rm “name”效果一样,此进再用docker ps 去查看容器已经看不到C1了。
总结:通过这几个命令,已经可以运行,连接,查看,删除容器了,如果想真正使用这些容器,这些远远不够;
一向不善于总结,总是想到哪里说到哪里,以上是Docker 的基本命令及操作,通过这些命令我们可以轻易的运行一个容器,并在不使用后销毁,在运行容器的时候你会发现不到很快容器就运行起来了,具体时间看宿主机配置,一般都在1秒左右,和传统虚拟机相比快多啦;
同时,虽然我们已经能够运行容器,但是也存在着问题:端口,服务,存储等等;
Docker 实操的更多相关文章
- Docker安装MySql完整教程、实操
docker:官网 docker:镜像官网: 镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...
- 从零实操基于WSL2 Docker部署Asp.Net Core项目
前言 平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务,已经习惯了那一套成熟的操作流程,开发和部署确实快捷方便,但是还没在自己的电脑上进行操作过,特别是Wind ...
- SBT实操指南
参考资料:1.英文官方文档2.中文官方文档,内容翻译的不全 SBT是类似maven和gradle的自动构建和包依赖管理工具,SBT是Scala技术体系下的包管理工具,都是Lightbend公司开发的, ...
- ASP.NET Core托管和部署Linux实操演练手册
一.课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS.Nginx.Apache.Docker 上进行托管或在自己的进程中进行自托管. 作为一个.NET Web ...
- 干货 | 京东云应用负载均衡(ALB)多功能实操
应用负载均衡(Application Load Balancer,简称ALB)是京东云自主研发的一款七层负载均衡产品,主要面向HTTP和HTTPS流量的WEB应用程序,提供灵活的功能配置.应用负载均衡 ...
- Istio的流量管理(实操一)(istio 系列三)
Istio的流量管理(实操一)(istio 系列三) 使用官方的Bookinfo应用进行测试.涵盖官方文档Traffic Management章节中的请求路由,故障注入,流量迁移,TCP流量迁移,请求 ...
- harbor安装实操笔记
纸上得来终觉浅,实操一遍吧! 把所有开发的后端服务先在打成镜像,传到私有镜像仓库: 然后在任意的远程机器拉取镜像,然后可采用docker或者docker-compose的方式运行,本节先按照docke ...
- 72 个网络应用安全实操要点,全方位保护 Web 应用的安全
原文地址:Web Application Security Checklist 原文作者:Teo Selenius(已授权) 译者 & 校正:HelloGitHub-小熊熊 & 卤蛋 ...
- 生产环境搭建高可用Harbor(包括恢复演练实操)
生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...
随机推荐
- ACwing1212. 地宫取宝
题目: X 国王有一个地宫宝库,是 n×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走过某个 ...
- JAVA加解密之DES
DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法.DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法.这样,只有掌握了和发送方相同密钥的人才 ...
- JAVA获取请求的IP地址
private static final String[] ADDR_HEADER = { "X-Forwarded-For", "Proxy-Client-IP&quo ...
- 【LeetCode】1005. Maximize Sum Of Array After K Negations 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 小根堆 日期 题目地址:https://leetco ...
- B. Petya and Exam
B. Petya and Exam 题目链接 题意 给你一串字符,在这个串中所有出现的字符都是\(good\)字符,未出现的都是\(bad\)字符, 然后给你另一串字符,这个字符串中有两个特殊的字符, ...
- 【剑指Offer】左旋转字符串 解题报告(Python)
[剑指Offer]左旋转字符串 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目 ...
- Class Activation Mapping (CAM)
目录 概 主要内容 CAM Grad-CAM Grad-CAM++ Score-CAM 最后 代码 Zhou B., Khosla A., Lapedriza A., Oliva A. and Tor ...
- VS Code 如何设置大小写转换快捷键
一般情况下,快捷键如下: 转换为大写:Ctrl+Shift+u 转换为小写:Ctrl+Shift+l 如果不行的话,需要单独进行设置,步骤如下: 1.点击[文件]-[首选项]-[键盘快捷方式]菜单: ...
- oralce索引中INDEX SKIP SCAN 和 INDEX RANGE SCAN区别
INDEX SKIP SCAN 当表中建立有复合索引的时候,查询时,除复合索引第一列外,别的列作为条件时,且优化器模式为CBO,这个时候查询可能会用到INDEX SKIP SCAN skip scan ...
- 小程序中使用、H5、uniapp下使用阿里巴巴iconfront图标或者新增图标
第一步:登录iconfont的账号,创建项目. 第二步:选择自己需要的图标,并添加入库(就是那个购物车的图标). 第三步:将选好的图片添加到项目.(点击上图中右上角的购物车图标). 第四步:下载资源到 ...