首页 > 系统相关 >Docker笔记(一)docker 在linux里面的安装

Docker笔记(一)docker 在linux里面的安装

时间:2024-02-04 09:55:04浏览次数:34  
标签:虚拟机 linux 镜像 Docker 安装 docker

Docker笔记(一)docker 在linux里面的安装

为什么使用docker(docker理念)

在开发环境,将源码+配置+软件等其他项目运行的所有的东西,都打包,直接都给运维,这样运维就不需要自己搭建项目运行的环境了,因为你已经拿到了开发人员本地的全部的东西,相当于拿到开发人员全部的东西,直接在运维那里就可以运行;

我们的Windows电脑要安装linux,就是要安装虚拟机,我们首先是下载VMware,之后用这个软件执行centos8.iso这个镜像文件,只要每一个同学都这样执行,那么每一个同学的电脑上面就有虚拟机了;

以上我们就可以看到需要的东西是:VMware软件,centos8.iso这个镜像文件docker就相当于VMware软件,一个项目相关的所有东西(源码+配置文件+环境+。。。)
我们可以打包为一个镜像,这个就相当于centos8.iso这个镜像文件;

以后,只要不同的学生在自己的docker里面都运行这个镜像文件,那么就可以使用这个项目;相当于只要在docker里面调用这个镜像就可以了,一步就可以完成项目的使用

传统虚拟机有什么弊端

虚拟机(virtual machine)就是带环境安装的一种解决方案。 虚拟机的缺点: 1 资源占用多 (iso镜像文件太大) 2 冗余步骤多 (需要启动,等,之后输入用户名密码) 3 启动慢(启动一个虚拟机,花费的时间太长)

如果我们有3个虚拟机,A 虚拟机里面安装mysql,B虚拟机里面安装Redis,C虚拟机里面安装JDK,那么启动3个虚拟机,太吃内存了,如果你的内存只有8g,根本不够。

传统开发与docker的对比

传统的应用开发完成后,需要提供一堆安装程序和配置说明文档,安装部署后需根据配置文档进行繁杂的配置才能正常运行。

Docker化之后只需要交付少量容器镜像文件,在正式生产环境加载镜像并运行即可,应用安装配置在镜像里已经内置好,大大节省部署配置和测试验证时间。

docker 基本组成

 1 镜像 (相当于java的类模板)

Docker 镜像(Image)就是一个只读的模板。
镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

2 容器 (使用类模板new出来的实例对象)

容器是用镜像创建的运行实例。就像是Java中的类和实例对象一样,
镜像是静态的定义,容器是镜像运行时的实体。
容器为镜像提供了一个标准的和隔离的运行环境,
它可以被启动、开始、停止、删除。
每个容器都是相互隔离的、保证安全的平台

3 仓库 (存放镜像的地方)

仓库(Repository)是集中存放镜像文件的场所。
 
类似于
Maven仓库,存放各种jar包的地方;
github仓库,存放各种git项目的地方;
Docker公司提供的官方registry被称为Docker Hub,
存放各种镜像模板的地方。
 
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub(https://hub.docker.com/),
存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等

docker 工作原理

我们启动docker,就相当于启动了docker的守护进程,就相当于启动了mysql服务,只要使用客户端连接这个守护进程,那么就可以操作这个docker里面的容器,就相当于使用navate 客户端软件,就可以连接mysql服务,在里面进行建表等操作;

启动一个docker的守护进程,可以有多个客户端(命令客户端)进行关联这个守护进程,
进程操作里面的东西

docker安装

docker必须部署在linux内核的系统上面 我们复制一个linux虚拟机

启动这个虚拟机,之后使用xshell进行链接

以上是xshell已经关联到虚拟机

cat  /etc/redhat-release 

 uname -r          
  使用这个命令,查看当前linux是不是具备运行docker,
 大于3.8就可以

查看官网,按步骤进行安装

 

 

https://docs.docker.com/engine/install/centos/

这个就是官网的安装教程,我们直接看这个就可以

根据官网的安装教程

1 ·确定你是CentOS7及以上版本

cat /etc/redhat-release

2 如果之前安装过docker,现在想要升级,可以先卸载之前的 卸载的步骤是

 3 确定CentOS7能上外网,安装gcc

yum -y install gcc
yum -y install gcc-c++

如果xshell里面出现乱码,可以设置

 4 、安装需要的软件包,这个是根据官网找到的

yum install -y yum-utils

5 以下这个里面是解决yum安装不上的情况

https://blog.csdn.net/python113/article/details/123055912

7 配置阿里云yum仓库,提高安装下载包的速度

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

8 以下命令是安装docker,最后一步安装,一路yes 即可

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

9 如果在安装过程中,可能出错

 解决方案是以下两步:

这一步可能很慢,我们可以在互联网下载,之后上传到linux里面
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
 
 在这个文件对应的文件夹下,执行这个
yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm

以上做完,重新下载docker

10 校验是否安装成功

docker version
 
# 输出如下,即安装成功
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

 

标签:虚拟机,linux,镜像,Docker,安装,docker
From: https://www.cnblogs.com/yayuya/p/18005628

相关文章

  • Nexpose v6.6.236 for Linux & Windows - 漏洞扫描
    Nexposev6.6.236forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,ReleaseFeb02,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......
  • 如何优化Linux服务器的性能和响应速度?
    Linux服务器是一种常用的服务器操作系统,为了保证系统的稳定和高效运行,优化服务器的性能和响应速度显得尤为重要。如何优化Linux服务器的性能和响应速度?1.系统调整内核参数优化:调整Linux内核参数可以提升服务器的性能。例如,通过修改文件/etc/sysctl.conf来设置TCP/IP相关参数,如增......
  • Linux调度pick_next_task_fair整体框架解读
    pick_next_task_fair是CFS调度类中选择next任务的主要路径,其主要功能是从当前CPU的就绪队列cfs_rq中选出一个可运行的任务作为"next任务",并将前一个任务prev重新放到就绪队列。 下面是这段代码框架流程解读。1判断rq->cfs.nr_running>0?如果不满足说明没有可运行任务则gotoidl......
  • dremio cluster docker-compose 运行
    dremio社区版,集群安装比较简单,核心就是一个配置(zk,分布式存储),为了方便本地环境的测试我基于docker-compose提供了一个方便部署的环境,可以使用环境配置docker-compose version:"3"services:zk:image:zookeeperports:-2181:21......
  • linux清理磁盘空间
    根目录/仍然使用了100%的空间,可能会导致系统运行受阻。可以尝试以下方法来释放根分区的空间:删除不需要的文件:检查根目录中是否有不必要的文件或目录,并删除它们以释放空间。清理日志文件:检查/var/log/目录中是否有大型日志文件,并根据需要删除或归档它们。清理软件......
  • linux 查看端口并关闭端口命令
    1.查看服务器端口情况:lsof-i:端口号(lsof-i需要root用户的权限)相关命令:lsof-i:8080--查看8080端口占用lsofabc.txt--显示开启文件abc.txt的进程lsof-cabc--显示abc进程现在打开的文件lsof-c-p1234--列出进程号为1234的进程所打开的文件lsof-ggid--显示归......
  • Splunk Enterprise 9.2.0 (macOS, Linux, Windows) - 机器数据管理和分析
    SplunkEnterprise9.2.0(macOS,Linux,Windows)-机器数据管理和分析SIEM、全面的日志管理和分析平台请访问原文链接:https://sysin.org/blog/splunk-9/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org混合世界的数据平台快速、大规模地从可见性转向行动,以实现安......
  • Spring Boot无需Dockerfile创建Docker镜像三种方法
    SpringBoot无需Dockerfile创建Docker镜像三种方法        随着技术的发展,服务于终端用户请求的应用程序的部署方式也发生了变化。传统上,你需要用一台机器来部署应用程序,然后决定机器的配置,以保证应用程序的运行。容器的引入,即把整个软件堆栈打包成一个单一的实体并进......
  • linux的java服务启动,停止sh脚本
    #!/bin/bash#######################################################Copyright2019PhamNgocHoai##LicensedundertheApacheLicense,Version2.0(the"License");#youmaynotusethisfileexceptincompliancewiththeLicense.#Youmay......
  • 2024年2月笔记:Redis7.2.4版本在Mac电脑的Docker里安装Redis集群
    本文环境:Mac电脑,Brew和Docker都已安装好,Redis版本:7.2.4第1步,验证Docker和Brewdocker--version  //查看docker版本,此处忽略安装Docker步骤brew--version   //查看版本号第2步,创建Redis集群网络dockernetworkcreateredis-cluster-net   //创建一个名......