Docker从入门到飞升:基础配置安装

导读 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安装

[[email protected] ~]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo
//下载docker的yum源

[[email protected] ~]# yum install -y docker-ce

[[email protected] ~]# systemctl start docker

[[email protected] ~]# ps aux | grep docker

[[email protected] ~]# 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

[[email protected] /]# 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,再后面为新镜像的名字。

原文地址:https://www.cnblogs.com/cheyunhua/p/8274948.html

时间: 2024-10-10 06:50:45

Docker从入门到飞升:基础配置安装的相关文章

GFS基础配置安装(纯实战)

GFS基础配置安装 基本概述 ? GFS是一个可扩展的分布式文件系统,用于大型的.分布式的.对大量数据进行访问的应用.它运行于廉价的普通硬件上,并提供容错功能.它可以给大量的用户提供总体性能较高的服务. 基本结构图 基本部署步骤 一.实验准备 名称 角色 IP地址 centos7-1 node1 192.168.142.66 centos7-2 node2 192.168.142.77 centos7-3 node3 192.168.142.132 centos7-4 node4 192.168

FasterDFS基础配置安装

FasterDFS基础配置安装 基本概述 ? FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站.视频网站等等. ? FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. 基本结构图 FastDFS服务端有两个

docker基础平台安装1

Docker基础平台安装 1. 前言 1.1.  文档目标 假定您对docker及相关生态有一定的了解,参照此文档,可以完成以下工作 2  完成docker基础组件的安装 2  完成docker网络组件的安装配置 2  完成docker平台管理组件的安装 1.2.  平台目标 2  Docker应用部署平台 2  各主机资源统一调度 2  应用实例快速伸缩 2  方便的服务发现机制 2  内部DNS访问容器 2  跨主机容器网络 2  容器内应用健康检查 1.3.  环境要求 操作系统:cent

Provisioning Services 7.8 入门系列教程之二 基础环境安装

续Provisioning Services 7.8 入门系列教程之一 部署学习环境介绍 一.建立Windows Server 2012 R2虚拟机母盘. 1.在Hyper-V首先建立一台虚拟机,安装Windows Server 2012 R2,并进行相关设置后,关闭计算机. 2.设置上面所建立的虚拟机的虚拟磁盘的文件属性为"只读",作为以后建立相同操作系统虚拟机的母盘. 二.基础环境安装 计算机名:DDC(取这个名称是为了满足Citrix许可服务器安装的需要,因为笔者从CitRix网

docker之入门——安装及基本命令

Docker简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护. Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案. Docker 的基础是 Linux 容器(LXC)等技术. (背景),云计算兴起后,服务器硬件扩展非常便利,软件服务部署成为了瓶颈,docker趁势而

CentOS7 下配置svn的安装及基础配置介绍

[[email protected] ~]# yum install subversion 查看是否安装安装成功[[email protected] ~]# svnserve --versionsvnserve, version 1.7.14 (r1542130) compiled Jun 9 2014, 18:54:44 Copyright (C) 2013 The Apache Software Foundation.This software consists of contributio

Linux基础入门之网络属性配置

Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,如果在同一网络内,那么可以通过ARP广播机制得到对方mac地址后就可以进行通信的,如果不是本地网络内就必须将数据报文封装后一层一层的经由网关路由进行转发.无论目标是哪的一

docker数据卷管理及网络基础配置

数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可供容器使用的特殊目录,它绕过文件系统,特性如下: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新不会影响镜像 卷会一直存在,直到没有容器使用 其使用类似与mount操作. 在容器内创建一个数据卷 #docker run -d -P --name web -v /webapp

Jenkins的下载与启动,插件安装,基础配置,

Jenkins网站下载Generic java package 启动Jenkins  命令:java -jar jenkins.war [root@localhost Jenkins]# java -jar jenkins.war Running from: /home/gzp_tool/Jenkins/jenkins.war webroot: $user.home/.jenkins Mar 16, 2019 2:40:19 AM org.eclipse.jetty.util.log.Log i