docker概述和安装及基本操作
一:概述
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- Docker Container容器
而容器技术的核心有以下几个内核技术组成:
1.cgroups 资源管理(限制空间大小)
2.Namespace 进程隔离
3.SElinux 安全
下面有一张docker容器技术和传统虚拟化技术的对比图,很清楚的看见docker之所以比传统虚拟化速度要快,是因为docker没有操作系统
可以理解为就是一个程序(不占内存,cpu,速度快)这也是和传统虚拟化最大的区别
docker也有自己的缺点
1.容器的隔离性没有虚拟化强
2.共用Linux内核,安全性有先天缺陷
3.selinux难以驾驭
4.监控容器和容器排错
二:安装要求
1.64位操作系统
2.至少RHEL6.5版本以上,个人强烈建议RHEL7.0版本
3.关闭防火墙(不是必须)
4.内核版本必须是3.10以上,可以通过 uname -r 命令检查内核版本
三:安装docker
1.已经安装过docker的,需要进行卸载
命令:yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
因为我是新建的虚拟机,并没有安装docker历史
2.安装docker依赖包
命令:yum -y install yum-utils device-mapper-persistent-data lvm2
有两种方法下载docker源,一种是官方,一种是阿里云,个人建议使用阿里云
命令:cd /etc/yum.repos.d/
官网地址:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
阿里云地址:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.正式安装docker
命令:yum -y install docker-ce
4.启动docker以及测试
命令:systemctl start docker #启动docker
测试:docker run hello-world
执行命令docker后,如果与下图内容一致 则表示成功
或者输入ip a (ifconfig)会出现如下图,也是安装成功
四、Docker 的简单操作
1.下载镜像
下载一个官方的centos镜像到本地
docker pull centos
下载好的镜像就会出现在镜像列表里
docker images
2.运行容器
这时我们可以在刚才下载的 CentOS 镜像生成的容器内操作了。
生成一个 centos 镜像为模板的容器并使用 bash shell
docker run -it centos /bin/bash
这个时候可以看到命令行的前端已经变成了 [root@(一串 hash Id)] 的形式, 这说明我们已经成功进入了 CentOS 容器。
在容器内执行任意命令, 不会影响到宿主机, 如下: mkdir -p /data/simple_docker
可以看到 /data 目录下已经创建成功了 simple_docker 文件夹: ls /data
4.退出容器
exit
查看宿主机的 /data 目录, 并没有 simple_docker 文件夹, 说明容器内的操作不会影响到宿主机
ls /data
5.保存容器
查看所有的容器信息, 能获取容器的id
docker ps -a
然后执行如下命令,保存镜像: docker commit -m="备注" 你的CONTAINER_ID 你的IMAGE
我要这天再遮不住我眼,要这地再埋不了我心。要这天下众生都明白我意,要那诸佛都烟消云散!
docker概述和安装及基本操作的更多相关文章
- 1、Docker概述与安装
1.Docker概述 原文地址:https://docs.docker-cn.com/engine/docker-overview/#docker-engine Docker是一个开发,集装,运行应用 ...
- docker概述和安装
一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...
- docker概述与安装及运行容器
传统虚拟化 传统虚拟化步骤 1.安装虚拟化软件以及虚拟化的管理软件 2.创建虚拟机 3.给虚拟机安装os 4.在虚拟机内部不是应用(http.db之类的应用) 传统虚拟化的特点 1.VM与VM之间是完 ...
- Docker安装及基本操作
系统环境 CentOS Linux release 7.5.1804 (Core) 安装依赖包 更新系统软件 yum update 安装docker yum install docker 启动dock ...
- Docker系列(一)Docker概述,核心概念讲解,安装部署
部分内容参考链接: Docker实战总结(非常全面,建议收藏) 一. Docker概述 Docker是一个开源的应用容器引擎(基于Go语言开发),让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...
- Docker详细介绍安装与镜像制作和拉取
一.Docker是什么? 产生背景: 开发和运维之间因为环境不同和导致的矛盾(不同的操作系统.软件环境.应用配置等)DevOps 代码.系统.环境.配置等封装成镜像Image--->运维: 集群 ...
- docker概述及基础操作
docker概述 容器技术已经成为应用程序封装和交付的核心技术容器技术的核心有以下几个内核组成CGroups-资源管理NamsSpace-进程管理SElinux-安全 由于是在物理机上实施隔离,启动一 ...
- Docker系列-(1) 原理与基本操作
Docker是一个开源的应用容器引擎,基于Go语言,并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器 ...
- Docker入门之安装Docker
目录 目录 1 1. 前言 1 2. 创建网桥 2 3. 安装Docker 2 3.1. 二进制安装 3 3.1.1. 下载安装 3 3.1.2. 配置服务 3 3.1.3. 启动服务 4 3.2. ...
随机推荐
- POI 操作 excel表格 (简单整理)
简单的整理: import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import ...
- python爬取电影网站信息
一.爬取前提1)本地安装了mysql数据库 5.6版本2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑1)进入电影网列表页, 针对列表的html内 ...
- DatetimeHelper类的编写
公共类 DAtaTimeHelper类的编写 public class Appointment { public DateTime StartDate { get; set; } public Dat ...
- Golang fmt Printf 格式化参数手册/详解/说明
fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. 格式“占位符”衍生自C,但比C更简单. fmt 包的官方文档对Printing和Scanning有很详细的说明.这里就直接 ...
- python 排序 归并排序
算法思想 迭代法: 归并算法一共有两种思想,笼统的说,这两种思想的区别就在于一种不分割未排序的序列(直接将序列看为n个个数为1的子序列),这种称为---迭代法 直接从队头开始,两两合并为一个个数为2的 ...
- Java 实现生产者 – 消费者模型
转自:http://www.importnew.com/27063.html 考查Java的并发编程时,手写“生产者-消费者模型”是一个经典问题.有如下几个考点: 对Java并发模型的理解 对Java ...
- 百度云BCC主机宝镜像
重装系统 在bcc服务器中,选实例,然后重装系统,镜像选择为主机宝CentOS6.5. 装完后,查看主机宝CentOS6.5官方文档. 登录主机宝管理界面 使用 root 用户登录 SSH 终端执行: ...
- 2019-09-16 PHP CURL CURLOPT参数说明(curl_setopt)
CURLOPT_RETURNTRANSFER 选项: curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 如果成功只将结果返回,不自动输出任何内容. 如果失败返回F ...
- 不要在 MySQL 中使用“utf8”,请使用“utf8mb4”
不要在 MySQL 中使用“utf8”,请使用“utf8mb4” 最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: ...
- Invalid attempt to spread non-iterable instance
问题在于对数据的操作,或数据类型,或数据名称