首页 > 其他分享 >1. Docker快速起步

1. Docker快速起步

时间:2024-07-01 20:09:08浏览次数:1  
标签:起步 安装 ce yum 镜像 docker 快速 Docker

Docker

wps1.jpeg

先安装Docker,再讲课

没有Docker的日子里

在以前的开发时代,开发人员把自己开发好的war交付给运维人员,运维人员为了把war部署到服务器上且保证能运行,就必须由运维人员在服务器上搭建好运行环境!

 

可这样带来的问题是,如果开发环境与部署环境不一致(比如版本),则会导致无法在服务器环境上运行的问题。也就会经常听到开发人员说:“在我的机器上可正常工作的呀”之类的抱怨!

 

而为了解决这个问题,让这些程序在部署环境可以顺利执行,开发团队除了交付应用代码以外,也得准备完整的部署文件,让运维团队得以部署应用程序。即便如此,服务器上仍然常常发生部署失败的状况。 

clipboard.png

所以,我们才会看到“程序员拜服务器” 这种奇葩的事情了! 

clipboard.png

Docker能做什么

为了维护宇宙和平,为了开发人员和运维人员的大团结,docker应运而生!

docker的作用,简单来说,就是将你的业务代码和部署环境打包在一起,打包在一起的这个东东叫做“镜像”,然后你把“镜像”直接交给运维人员即可,运维人员拿到了你给他的“镜像”,就等价于同时拿到了业务代码、部署环境,运维人员再也不用自己亲自下载任何环境包了(甚至运维人员都可以不要了,DevOps应运而生)。

也就是说,docker能保证开发环境与部署环境的绝对一致!在使用docker的情况下,只要开发人员能保证在开发阶段应用能正常运行,那么把项目交付给运维人员后,在部署环境下也一定能运行!

另外,在使用docker的提前下,横向扩展(集群)也是很方便的。

Docker是什么

docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。(摘自百度百科)

 

想要搞懂Docker,其实看它的两句口号就行。第一句,是“Build, Ship and Run”。

wps3.jpeg

也就是,“搭建、发送、运行”,三板斧。举个例子:我来到一片空地,想建个房子,于是我搬石头、砍木头、画图纸,一顿操作,终于把这个房子盖好了。

wps4.jpeg

 

结果,我住了一段时间,想搬到另一片空地去。这时候,按以往的办法,我只能再次搬石头、砍木头、画图纸、盖房子。但是,跑来一个老巫婆,教会我一种魔法。这种魔法,可以把我盖好的房子复制一份,做成“镜像”,放在我的背包里。

wps5.jpeg

 

我拿着这个包,到了另一片空地,就用这个“镜像”,复制一套房子,摆在那边,拎包入住。

wps6.jpeg

 

怎么样?是不是很神奇?

所以,Docker的第二句口号就是:“Build once,Run anywhere”

Docker安装

务必先配置阿里的yum源,这样安装docker的速度就不会太慢。

在CentOS 7下安装Docker:

卸载旧版本的docker,旧版本的docker程序被称作docker或者docker-engine,如果之前在系统中安装过,那么就卸载掉,当然连同依赖一起卸载了!

yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine

 

现在新版本的docker社区版叫做:docker-ce。安装需要的packages

yum install -y yum-utils device-mapper-persistent-data lw2

使用以下的命令来添加一个仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

此时可以正式安装docker-ce了,安装时间稍长

yum -y install docker-ce

 

安装好之后,启动docker

systemctl start docker

 

至此,在CentOS 7下,docker已经安装好了,可以查看下docker的版本

docker -v

在CentOS 8下安装Docker:

卸载旧版本

yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

安装依赖

sudo yum install -y yum-utils \

device-mapper-persistent-data \

lvm2

添加yum源

sudo yum-config-manager --add-repo \

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装,安装过程较慢

yum install docker-ce docker-ce-cli containerd.io

如果安装报错,则执行以下命令,然后再安装

yum erase podman buildah

安装好之后,启动docker

systemctl start docker

 

至此,在CentOS 8下,docker已经安装好了,可以查看下docker的版本

docker -v

Docker架构设计原理

先大致看一下这个图

wps7.jpeg

上图展示出了docker三要素:仓库、镜像、容器。看起来和Maven很相似,我们可以为Maven配置镜像仓库来提高依赖的下载速度,同样,我们也可以为docker配置镜像仓库,以提高镜像的下载速度。

Docker镜像加速器配置

Docker Hub服务是部署在国外的,且一个镜像大小,一般都在上百兆,这样的话,我们从Docker Hub服务上下载镜像的速度就会很慢,为了提高下载镜像的速度,我们需要配置国内的镜像加速器。

国内的镜像加速器不止一个,比如有:科大、网易、阿里云、七牛云。在本教程中,我们使用阿里云的镜像加速器。

首先注册一个阿里云账户,并登录,剩下的步骤,在图中已经很明确了

https://www.aliyun.com/product/acr?spm=5176.12825654.h2v3icoap.26.1dbb2c4akHLmKD&aly_as=6Y2Nt_Ty

clipboard.png

 

该步骤是可选的,但还是建议配置一下,不然从dockerhub上拉取镜像的速度是无法容忍的!

配置好镜像加速器之后,可以键入以下命令进行验证

docker info

Docker Hello World

docker pull 镜像名 拉取远程仓库的镜像到本地仓库中

docker pull hello-world

docker images查看本地的所有镜像

docker images

docker run 镜像名 根据指定的镜像生成一个镜像的实例并运行

clipboard.png

能看到以上的输出内容,就说明hello-world运行成功!

docker run命令查找镜像的流程如下:

clipboard.png

注意,如果docker的hello-world例子是由java写的,那么该hello-world镜像中,则会包含:应用程序、JVM、精简版的操作系统。如下图所示:

clipboard.png

docker技术中的三大核心概念

1. 镜像,就是一个只读的模板(包含着软件,以及运行软件所需的环境)

2. 容器,是用镜像创建的运行实例 (每一个容器本质上都是一个操作系统)

3. 仓库,是集中存放镜像文件的仓库

容器本质上是一个操作系统:

 

其中仓库分为公开仓库和私有仓库两种形式,最大的公开仓库是Docker Hub,其中存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。

标签:起步,安装,ce,yum,镜像,docker,快速,Docker
From: https://www.cnblogs.com/qiutian888/p/18278736

相关文章

  • Open3D 点云快速全局配准FGR算法(粗配准)
    目录一、概述1.1原理和步骤1.2关键技术和优势1.3应用场景二、代码实现2.1关键代码2.1.1.函数:execute_fast_global_registration2.1.2调用registration_fgr_based_on_feature_matching函数2.2完整代码三、实现效果3.1原始点云3.2粗配准后点云一、概述    ......
  • 一键部署Docker脚本
    bashdocker_install.sh#!/bin/bash#auther:maqinghang#blog:https://www.cnblogs.com/maqinghang#加载操作系统的变量,主要是ID变量。./etc/os-releaseDOCKER_VERSION=20.10.24#指定Docker的版本DOCKER_COMPOSE_VERSION=2.23.0#指定docker-conpose的版本FILE......
  • Linux容器篇-Docker镜像的使用
    文章目录前言一、列出镜像列表二、获取一个新镜像三、查找镜像四、拉取镜像五、删除镜像六、创建镜像1、更新镜像2、构建镜像七、设置镜像标签总结前言当运行容器时,使用的镜像如果在本地中不存在,docker就会自动从docker镜像仓库中下载,默认是从DockerHub公共......
  • 【Docker】Docker安全与最佳实践:保护你的容器化应用程序
    Docker安全与最佳实践:保护你的容器化应用程序一、保持Docker更新*1\.使用容器编排工具2.蓝绿部署3.滚动更新4.就地更新5.监控和回滚二、最小权限原则三、网络隔离四、其他安全措施前言Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到......
  • docker
    dockerDocker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。加了Linux基金会,遵从了Apache2.0协议,项目代码在上进行维护。容器化技术,区分于虚拟机,又类虚拟机,兼具虚拟机隔离的优点,又有速度快的优点容器......
  • Docker 镜像安装
    ​​​前言Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。在安装Docker时,我们经常需要用到镜像安装,为此我整理了一下如何通过镜像源来安装Docker的......
  • 家政小程序的开发,带动市场快速发展,提高家政服务质量
    当下生活水平逐渐提高,也增加了年轻人的工作压力,同时老龄化也在日益增加,使得大众对家政的需求日益提高,能力、服务质量高的家政人员能够有效提高大众的生活幸福指数。但是,传统的家政服务模式存在着效率低、用户与服务人员信息不对等等问题,导致大众很难找到适合的家政人员。因此,......
  • ECharts 快速入门
    ECharts是一个由百度开源的基于JavaScript的数据可视化图表库,它提供了丰富的图表类型、交互功能和主题样式,方便用户快速创建各种数据可视化图表,并在商业和开源项目中广泛应用。本文内容根据ECharts官方文档整理。下面将介绍如何使用ECharts创建最常用的几种图表......
  • 初始docker
    前置知识通过面向对象的知识来了解docker中的镜像和容器就很好理解了,docker是C/S架构镜像:是一个只读的模板,可以用来创建容器。类容器:是docker的运行实例,提供了一个独立的可移植的环境,可以在这个环境中运行应用程序。实例,1个或多个docker仓库:用来存储docker镜像的地方,最......
  • Docker教程
    Docker教程1.Docker是什么?Docker是Linux容器的一种封装,提供简单易用的容器使用接口。Docker将应用程序与该程序的依赖打包在一个文件里,运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样,有了Docker就不用担心环境问题。2.Docker的......