Docker(一) —— 虚拟机安装Docker

目录

Docker概述

Docker的原理

Docker能做什么

1.应用更快速地交付和部署

2. 更便捷的升级和扩缩容

3.更高效的服务器资源利用

安装Docker

测试HelloWorld

阿里云镜像加速


记住这幅图

这幅图怎么看?以镜像为例,从指向images的箭头我们就能看出,镜像都是从哪里来的:从docker仓库pull下来一个镜像,同事的tar包解压出一个镜像,提交一个容器快照,用dockerfile构建,还有一个tag不知道啥意思。

学了这么多,docker在企业中通常用来干嘛?

  1. docker VS Linux虚拟机
  2.  镜像、容器基本命令
  3. 用Dockerfile 构建自己的镜像并发布(push)或者打包(save)
  4. docker卷挂载技术
  5. docker自定义网络+用docker实现集群部署

用一条错误且混乱的命令不完全地总结一下

docker run 
    -it 
    -p 80:8080 
    -w /usr/local 设置工作环境
    -- name tomcat-01
    -v tomcat-volume:/usr/local/tomcat-5.2.0/ 具名挂载
    --volumes-from tomcat-01 挂载到数据卷容器tomcat-01
    --net mynet 把容器加入mynet网络中
    tomcat:latest
    /bin/bash 

Docker概述

  1. 将应用程序的jar包和环境一起打包成镜像,谁需要就直接下载这个镜像,可以直接运行。
  2. 隔离思想:集装箱,箱子之间不会有任何接口
  3. Docker VS. 虚拟机

     Dcoker和宿主机的关系:

     Dcoker直接使用宿主机的Kernel,也没有虚拟硬件,每个容器相互隔离,都有一个属于自己的文件系统。

    1. 在Docker出来之前,我们都是用虚拟机(如果要部署含有3个节点的Hadoop集群,我们就要开3个虚拟机)
    2. 都是虚拟化技术
    3. 都是通过镜像安装,但虚拟机的镜像是一台完整的电脑(需要模拟硬件和操作系统和软件,是的虚拟机模拟了硬件,记得我们开启虚拟机的时候总会问麦克风),而Docker的镜像只包含应用和运行所需要的环境
    4. Docker轻巧,虚拟机笨重
    5. 虚拟机和宿主机的关系
  4. Docker的文档非常详细Docker Documentation | Docker Documentation

Docker的原理

Docker是一个Client-Server结构的系统。

我们用systemctl start docker 开启docker服务后,docker的守护进程docker daemon一直运行在主机上。客户端通过Socket从client访问。这一点可以类比redis-server和redis-cli去理解。

所我们的y

docker + run/pull/build/network/rm/rmi

命令都是作为客户端在发送命令。

Server收到Client的命令(pull /run/build),就会执行这个命令。 

镜像和容器的关系其实就是程序和进程之间的关系,运行起来的镜像(程序)就是容器(进程),同一个镜像可以开多个容器。 

问题:既然Docker是C/S结构的,那么Docker和MySQL一样主要把server部署在大型服务器上,把client放在个人PC上吗?

回答:NO。两个角度解释

1)前面已经说过了,可以类比redis-cli和redis-server去理解,cli和server都在一台服务器上。

2)类比虚拟机来看,Docker和虚拟机都是基于宿主机的内核去实现虚拟的,所以client和server应该都在一台PC上,而不是用自己的PC作为DockerClient去请求另一台服务器上的DockerServer。

Docker能做什么

关键词:Devops(开发+运维)

1.应用更快速地交付和部署

之前开发和运维使用的不是同一套系统,运维需要读开发文档再次搭建环境十分麻烦。

Docker镜像将环境一起打包,一键运行!

2. 更便捷的升级和扩缩容

升级:比如一个镜像里有(springboot 1.5 /redis 5/ tomcat 8)这3种环境,我们现在要对Tomcat8进行升级,,,,后面没明白

扩缩容:一个容器把服务器A占满了,可以在服务器B上一键运行这个容器,实现负载均衡

3.更高效的服务器资源利用

集装箱能塞多少塞多少,可以把服务器的性能压榨到极致

安装Docker

本来想在Windows下安装,docker也提供了Windows版本。但是鉴于企业都是在Linux里使用docker的,并且Docker原本也是为Linux内核开发的,只不过通过WSL可以实现在Windows上使用Linux内核。所以还是决定在Linux下安装Dcoker.

6、安装Docker_哔哩哔哩_bilibili

步骤和这篇博客里的一模一样 ,别忘了把远程仓库改成阿里云镜像。

Docker安装(Centos 7.5)_码农娟的博客-CSDN博客_centos7.5安装docker

测试HelloWorld

启动Docker服务

systemctl start docker

通过这个命令可以看出,docker下载后被作为了系统服务,以系统服务的方式在后台开启。 

测试HelloWorld

docker run hello-world

docker先去本地仓库找,因为我们本地的镜像仓库里什么都没有,当然也没有hello-world这个镜像,所以一开始会显示“Unable to find image locally” 。进而去配置的远程仓库去找(前面配置的阿里云)。

        远程仓库找到的话,把这个镜像pull到我们的本地仓库,然后创建容器执行。

        远程仓库找不到的话会报错。

阿里云镜像加速

如果不开镜像加速的话下载镜像特别特别特别慢(一个centos镜像两个小时也没下下来)。所以要开启镜像加速!

这里我们用阿里云的镜像加速,地址: 

容器镜像服务https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

注册就行,免费的。 

开启加速之后,镜像下载速度纵享丝滑!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值