docker介绍以及安装

本文涉及的产品
云防火墙,500元 1000GB
简介: 应用场景 给你一台笔记本,笔记本的系统是windows的,如果想使用linux系统,那么得在windows上安装虚拟机,然后安装linux系统,一般一台8G内存的笔记本,可以建并启动6-7个1G内存的linux虚拟机,如果再创建并启动虚拟机那么电脑将无法承受,如果用了docker技术,那么就可以建成千上万个docker容器,一个docker容器就相当于一个linux虚拟机,它可以将计算机资源利用最大化,效率化,所以docker是一个虚拟的技术。

应用场景

给你一台笔记本,笔记本的系统是windows的,如果想使用linux系统,那么得在windows上安装虚拟机,然后安装linux系统,一般一台8G内存的笔记本,可以建并启动6-7个1G内存的linux虚拟机,如果再创建并启动虚拟机那么电脑将无法承受,如果用了docker技术,那么就可以建成千上万个docker容器,一个docker容器就相当于一个linux虚拟机,它可以将计算机资源利用最大化,效率化,所以docker是一个虚拟的技术。

docker概述

1.1 docker简介

Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了。

先来回顾一下传统虚拟化技术的体系架构:

这里写图片描述

可见,我们在宿主机的操作系统上,可安装多个虚拟机,而在每个虚拟机中,通过虚拟化技术,实现了一个虚拟操作系统,随后,就可以在该虚拟操作系统上,安装自己所需的应用程序了。

我们知道,启动虚拟机就像启动一台计算机,初始化过程是相当慢的,需要等很久,才能看到登录界面。一旦虚拟机启动以后,就可以与宿主机建立网络连接,确保虚拟机与宿主机之间是互联互通的。不同的虚拟机之间却是相互隔离的,也就是说,彼此并不知道对方的存在,但每个虚拟机占用的都是宿主机的硬件与网络资源。

我们再来对比一下 Docker 技术的体系架构吧:

这里写图片描述

可见,在宿主机的操作系统上,有一个 Docker 服务在运行(或者称为“Docker 引擎”),在此服务上,我们可开启多个 Docker 容器,而每个 Docker 容器中可运行自己所需的应用程序,Docker 容器之间也是相互隔离的,同样地,都是占用的宿主机的硬件与网络资源。

Docker 容器相对于虚拟机而言,除了在技术实现上完全不一样以外,启动速度较虚拟机而言有本质的飞跃,启动一个容器只在眨眼瞬间。不管是虚拟机还是 Docker 容器,它们都是为了隔离应用程序的运行环境,节省我们的硬件资源,为我们开发人员提供福利。

我们再来看看 Docker 的 Logo 吧:

这里写图片描述

很明显,这是一只鲸鱼,它托着许多集装箱。我们可以把宿主机可当做这只鲸鱼,把相互隔离的容器可看成集装箱,每个集装箱中都包含自己的应用程序。

1.2 docker应用

docker能干些什么?

  • 1、加速本地开发(通过Docker能够快速搭建好开发和运行环境,并且该环境可以直接传递给测试和产品部署)
  • 2、自动打包和部署应用
  • 3、创建轻量、私有的PasS环境(例子:http://www.alauda.cn/,比如在林雀云上创建了centos7,本地就能进入虚拟机访问容器)
  • 4、自动化测试和持续集成部署
  • 5、部署并扩展Web应用、数据库和后端服务
  • 6、创建安全沙盒(使容器隔离)
  • 7、轻量级的桌面虚拟化(虚拟桌面,做为一个镜像进行管理,例子https://www.shiyanlou.com/课程里,给每个用户每堂课准备一台虚拟机,都是docker虚拟化的)。

1.3 docker三大核心

另外,docker主要包括三大核心概念,理解了这三个核心概念,就能理解docker的整个生命周期:

  • 1、镜像:类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统,镜像是创建Docker容器的基础。
  • 2、容器:类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像的应用运行实例,可以将其启动,开始,停止,删除,而这些容器都是相互隔离,互不可见的。镜像自身是只读的,容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身保持不变。
  • 3、仓库:类似于代码仓库,是docker集中存放镜像文件的场所。

环境准备

2.1 环境配置

试验环境为:windows7系统,内存8G,固态硬盘120G,硬盘450G,ip为192.168.117.66,在windows7系统上,安装VMware,创建两个虚拟机,安装centos7.1系统,两个虚拟机内存2G,硬盘30G,ip分别为192.168.199.31(docker1),192.168.199.32(docker2)。

Docker私有仓库地址:192.168.199.31 hostname:docker1
Docker客户端地址: 192.168.199.32 hostname:docker2

2.2 配置虚拟机

首先在本地windows环境安装vmware,然后创建两个虚拟机,安装centos7.1系统(可以用centos6.5,但是需要升级内核,比较繁琐,还是用7.1好,一步到位,并且centos6.5和centos7.1安装docker以后的文件名,文件地址都不一样,可能和后文的操作不同,建议centos7.1),装好以后需要配置网路,主机名,关闭防火墙等,操作如下。

2.2.1. 修改hostname

安装完虚拟机,进入centos7.1系统后,进入控制台,由于centos7.1的命令与centos6.5等,有所区别,这里修改hostname输入如下命令:

 # sudo hostnamectl --static set-hostname  <host-name> 

上面命令的host-name根据文中设置为docker1,另一个设置为docker2。

2.2.2. 关闭防火墙

关闭防火墙输入如下命令:

 # systemctl stop firewalld

禁用防火墙输入如下命令:

 # systemctl disable firewalld

2.2.3. 关闭selinux

 # vi /etc/selinux/config

将SELINUX=enforcing修改为SELINUX=disabled。

2.2.4. 配置网络

由于设置虚拟机网络需要确定网段,确定网段方法如下:

  • 打开VMWare

这里写图片描述

  • 点开虚拟网络编辑器,按下图示点击

这里写图片描述

  • 查看自己虚拟机所对应的网段

这里写图片描述

因此,本地试验环境的虚拟机网段是199,各台机器可能不一样,需要查看后再进行网络配置。
配置centos7虚拟机网络,输入如下命令:

# vi /etc/sysconfig/network-scripts/ifcfg-ens192

注:最后的ipcfg-ens192文件,另一台机器可能不是个文件名,自己找虚拟机中的ifcfg-ens+一串数字的文件,进行修改。
修改如下:

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=2d0d964b-91d1-4810-9eb7-b523689420d2
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.199.31
PREFIX=24
GATEWAY=192.168.199.2
DNS1=114.114.114.114
然后重启网络:

 # systemctl restart network.service

安装docker

安装docker,输入如下命令:

 # yum install docker
 # yum upgrade device-mapper-libs
 # service docker start
 # chkconfig docker on

查看docker状态:

 # service docker status
目录
相关文章
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
361 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
27天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
65 2
|
29天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 3
|
2月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
133 1
Window系统安装Docker
|
2月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
95 0
Docker安装Mosquitto
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
276 3
|
16天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
16天前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
98 0
|
2月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
52 1
下一篇
无影云桌面