Docker从入门到飞升:基础配置安装(Ⅰ)
2018-01-03 00:00
549 查看
Docker近几年非常火,因为它是容器虚拟化,更能够充分提高硬件资源的使用率。其实利用率高不算什么,它最大的优势是能给让运维人员或者开发人员快速部署和交付资源,大大提高了工作效率。几乎所有的大企业都在使用docker,所以我们没有理由不去了解它,不去学习它。
一、初识Docker
容器虚拟化,比传统的虚拟化轻量。
2013年出现,发展非常迅猛。
Redhat在6.5版本开始支持docker。
使用go语言开发,基于apache2.0协议。
开源软件,项目代码在github维护。
docker从1.13x开始,版本分为社区版ce和企业版ee,并且基于年月的时间线形式。
三篇资料,助你加深理解什么是Docker?
如通何俗懂易释解Docker是什么?
大白话Docker入门(一)
大白话Docker入门(二)
容器虚拟机和传统虚拟机比较
容器虚拟化:
传统虚拟化:
也就是说,让我们创建一个新的虚拟机的时候,如果使用Vmware,首先我们需要分配一定的硬件资源去运行虚拟出来的系统,如果一台电脑例如我的win7 配置一般,也就顶多可以跑10个centos,但是如果使用Docker就可以创建成千上百个centos系统,且每个系统都是独立的,隔离开来的,硬件资源也是隔离开来的。这就是根本区别!
不难看出dockers的优势
启动非常快,秒级实现。
资源利用率很高,一台机器可以跑上千个docker容器。
更快的交付和部署,一次创建和配置后,可以在任意地方运行。
内核级别的虚拟化,不需要额外的hypevisor- – 支持,会有更高的性能和效率。
易迁移,平台依赖性不强。
Docker的核心概念
镜像,是一个只读的模板,类似于安装系统用到的那个iso文件,我们通过镜像来完成各种应用的部署。
容器,镜像类似于操作系统,而容器类似于虚拟机本身。它可以被启动、开始、停止、删除等操作,每个容器都是相互隔离的。
仓库,存放镜像的一个场所,仓库分为公开仓库和私有仓库。 最大的公开仓库是Docker hub(hub.docker.com),国内公开仓库(dockerpool.com)
二、Docker的安装与配置
2.1安装
[root@zhdy01 ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo
//下载docker的yum源
[root@zhdy01 ~]# yum install -y docker-ce
[root@zhdy01 ~]# systemctl start docker
[root@zhdy01 ~]# ps aux | grep docker
[root@zhdy01 ~]# docker version
当然另外一点,当我们配置完毕后,会自动帮我们创建一些IPtables 规则,其目的就是不影响docker虚拟机的正常运行。(每次重启docker服务会自动把iptables规则添加上,所以不用担心删除!)
2.2镜像容器管理
docker 由于在国外,国内限制比较大,所以我们一般会使用阿里云的加速器去下载一个镜像:
vi /etc/docker/daemon.json //加入如下内容
{
"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]
}
说明:这个url为加速器地址,需要同学自行到阿里云申请。
配置完加速器,重启docker服务,再次docker pull centos会快很多。
2.3通过容器创建镜像
刚刚我只是说到了如何删除修改一些基础的操作,一旦镜像搭建好了,如何才能通过命令行进入系统呢?
可以通过下面命令进入容器:
docker exec -it xxxxx bash
//其中xxxxx为容器id,这个id可以用docker ps查看,最后面的bash为进入容器后我们要执行的命令,这样就可以打开一个终端。
进入到该容器中,我们可以查看一下基础的设备信息,都是基于宿主机建立起来的。我们也可以做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像:
在容器中执行:
yum install -y net-tools
[root@dbde185fdcd3 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
docker 容器自动的帮你虚拟出来一个虚拟IP。
而且在外部的虚拟主机我们也是可以看到这个网卡的!
然后ctrl d 退出容器。
把我们刚刚制作的镜像保存成一个新的镜像,下次我们再次需要的时候就可以直接使用(不需要再次安装我们已经安装过的服务!):
docker commit -m "change somth" -a "somebody info" container_id new_image_name
//container_id通过docker ps -a获取,后面的new_image_name为新镜像名字
例如:
这个命令有点像git的提交,-m 加一些改动信息,-a指定作者相关信息 2c74d这一串为容器id,再后面为新镜像的名字。
本文地址:http://www.linuxprobe.com/docker-install.html编辑:倪家兴,审核员:逄增宝
一、初识Docker
容器虚拟化,比传统的虚拟化轻量。
2013年出现,发展非常迅猛。
Redhat在6.5版本开始支持docker。
使用go语言开发,基于apache2.0协议。
开源软件,项目代码在github维护。
docker从1.13x开始,版本分为社区版ce和企业版ee,并且基于年月的时间线形式。
三篇资料,助你加深理解什么是Docker?
如通何俗懂易释解Docker是什么?
大白话Docker入门(一)
大白话Docker入门(二)
容器虚拟机和传统虚拟机比较
容器虚拟化:
传统虚拟化:
也就是说,让我们创建一个新的虚拟机的时候,如果使用Vmware,首先我们需要分配一定的硬件资源去运行虚拟出来的系统,如果一台电脑例如我的win7 配置一般,也就顶多可以跑10个centos,但是如果使用Docker就可以创建成千上百个centos系统,且每个系统都是独立的,隔离开来的,硬件资源也是隔离开来的。这就是根本区别!
不难看出dockers的优势
启动非常快,秒级实现。
资源利用率很高,一台机器可以跑上千个docker容器。
更快的交付和部署,一次创建和配置后,可以在任意地方运行。
内核级别的虚拟化,不需要额外的hypevisor- – 支持,会有更高的性能和效率。
易迁移,平台依赖性不强。
Docker的核心概念
镜像,是一个只读的模板,类似于安装系统用到的那个iso文件,我们通过镜像来完成各种应用的部署。
容器,镜像类似于操作系统,而容器类似于虚拟机本身。它可以被启动、开始、停止、删除等操作,每个容器都是相互隔离的。
仓库,存放镜像的一个场所,仓库分为公开仓库和私有仓库。 最大的公开仓库是Docker hub(hub.docker.com),国内公开仓库(dockerpool.com)
二、Docker的安装与配置
2.1安装
[root@zhdy01 ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo
//下载docker的yum源
[root@zhdy01 ~]# yum install -y docker-ce
[root@zhdy01 ~]# systemctl start docker
[root@zhdy01 ~]# ps aux | grep docker
[root@zhdy01 ~]# docker version
当然另外一点,当我们配置完毕后,会自动帮我们创建一些IPtables 规则,其目的就是不影响docker虚拟机的正常运行。(每次重启docker服务会自动把iptables规则添加上,所以不用担心删除!)
2.2镜像容器管理
docker 由于在国外,国内限制比较大,所以我们一般会使用阿里云的加速器去下载一个镜像:
vi /etc/docker/daemon.json //加入如下内容
{
"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"]
}
说明:这个url为加速器地址,需要同学自行到阿里云申请。
配置完加速器,重启docker服务,再次docker pull centos会快很多。
2.3通过容器创建镜像
刚刚我只是说到了如何删除修改一些基础的操作,一旦镜像搭建好了,如何才能通过命令行进入系统呢?
可以通过下面命令进入容器:
docker exec -it xxxxx bash
//其中xxxxx为容器id,这个id可以用docker ps查看,最后面的bash为进入容器后我们要执行的命令,这样就可以打开一个终端。
进入到该容器中,我们可以查看一下基础的设备信息,都是基于宿主机建立起来的。我们也可以做一些变更,比如安装一些东西,然后针对这个容器进行创建新的镜像:
在容器中执行:
yum install -y net-tools
[root@dbde185fdcd3 /]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
docker 容器自动的帮你虚拟出来一个虚拟IP。
而且在外部的虚拟主机我们也是可以看到这个网卡的!
然后ctrl d 退出容器。
把我们刚刚制作的镜像保存成一个新的镜像,下次我们再次需要的时候就可以直接使用(不需要再次安装我们已经安装过的服务!):
docker commit -m "change somth" -a "somebody info" container_id new_image_name
//container_id通过docker ps -a获取,后面的new_image_name为新镜像名字
例如:
这个命令有点像git的提交,-m 加一些改动信息,-a指定作者相关信息 2c74d这一串为容器id,再后面为新镜像的名字。
本文地址:http://www.linuxprobe.com/docker-install.html编辑:倪家兴,审核员:逄增宝
相关文章推荐
- 基础学习day01--JAVA入门和JDK的安装与配置
- kubernetes基础入门之-安装部署配置示例
- MySQL基础入门-03MySQL的安装和配置
- Docker安装和基础用法 Docker入门教程第二篇
- Docker 基础介绍及配置安装 [一]
- JAVA基础学习(一)--JAVA入门和JDK的安装与配置
- Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
- ROS入门_1.1 Ubantu的安装与基础配置
- Apache Solr入门基础——Windows下安装与配置
- Nginx入门(下载安装|基础配置)
- Ngnix安装和站点配置基础入门
- 入门基础:浅析Oracle监听器安装与配置
- Apache Storm 的安装、配置及入门基础(三):一个简单的 topology
- Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
- MySQL基础入门:MySQL简介、安装、配置
- Oracle GoldenGate零基础入门培训--安装、配置、诊断
- Android零基础入门第4节:正确安装和配置JDK, 高富帅养成第一招
- JAVA基础1-JAVA入门和JDK的安装与配置
- Git基础入门(二)Git安装和配置
- Docker入门实践(二) Docker的安装配置