安装Docker详细步骤总结

2023-05-16

一、安装Docker

♦️ 1.下载关于Docker的依赖环境

在Xterm中输入以下代码安装依赖环境 回车

yum -y install yum-utils device-mapper-persistent-datalvm2

在这里插入图片描述使用yum工具下载
yum是软件包管理工具
通过 执行 man yum
可以查看yum的帮助信息

♦️2.设置一下下载Docker的镜像源

依赖环境下载完毕以后,设置下载的镜像源,如果不设置,会默认去Docker的官方下载,但是官方的服务器在国外,下载会比较缓慢,设置下载国内的镜像源(镜像就是英文单词image)
使用国内的阿里云

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

在这里插入图片描述

♦️3.安装Docker

首先,
下面这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度

yum makecache fast

在这里插入图片描述

提高安装速度以后,安装docker相关的。(docker-ce 社区版 而ee是企业版)

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

在这里插入图片描述
在这里插入图片描述

♦️4.启动,并设置为开机自动启动,测试

4.1 启动Docker服务

systemctl start docker

4.2 设置开机自动启动

systemctl enable docker

4.3 测试

docker run hello-world

在这里插入图片描述

如果出现以下代码,说明运行成功:

[root@iZ2ze68ge5c1uwlkmnb9ixZ zcapp]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe
Status: Downloaded newer image for hello-world:latest
 
Hello from Docker!
This message shows that your installation appears to be working correctly.
 
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
 
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
 
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
 
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

在这里插入图片描述
分析上图的打印信息
🔹红色标注:docker run hello-world运行,这个hello-word程序,所有的命令都是通过docker run来运行的
🔹接下来看蓝色标注:Unable to find image ‘hello-world:lastest’ locally,找不到这个镜像在本地。
🔹接下来看绿色标注:Pulling from library/hello-world,pull拉取我们官方的library下的helloworld镜像,给他下载下来
🔹最后如果出现紫色标注的部分,说明Docker run hello-world命令运行成功了

也可输入以下命令查看hello-world镜像是否下载成功:docker images

在这里插入图片描述
上图中红色方框中:
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小 在这里插入图片描述
看到hello-world,这个镜像是存在的。
安装学过了以后,了解一下卸载,第一步
♦️卸载软件
你刚刚下载的时候使用的命令是

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

卸载的命令是
yum remove docker-ce docker-ce-cli
containerd.io

软件卸载后,Docker默认的工作路径是/var/lib/docker
需要执行rm命令把这个工作路径删除

rm -rf /var/lib/docker

二、阿里云镜像加速

配置镜像加速就是为了在下载镜像的时候提高效率,
具体操作看这篇文章的2.3节:Doctor最新详解
总结:
就是找到etc/docker/daemon.json文件并修改,添加代码如下(如果在/etc/docker下找不到daemon.json文件,可以自己新建,cd切换到/etc/docker目录下,使用touch命令创建)

{
"registry-mirrors": ["https://78q96cy9.mirror.aliyuncs.com"]
} 

在这里插入图片描述
再重新vi daemon.json
在这里插入图片描述
按下i键,复制上面的代码右键Paste,按下Esc键,输入:wq,保存并退出即可
修改完成以后,在Xterm中输入以下代码重启镜像、重启docker

systemctl daemon-reload
systemctl restart docker

在这里插入图片描述

总结:上面的步骤,依次把以下代码逐行复制到Xterm中,就可以直接执行创建daemon.json并修改文件,重启2个服务

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'{ 
 "registry-mirrors": ["https://78q96cy9.mirror.aliyuncs.com"]
 }EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三、docker的中央仓库

在这里插入图片描述
把你的环境上传到公共仓库中,如果别人需要你这个环境,再派大海豚从公共仓库里去拿

谁提供了这样的仓库呢?
💠 docker自己提供了http://hub.docker.com/,但是服务器在国外,非常慢,为了解决这个问题,国内很多公司也在做自己的仓库.
💠 比较知名的是由网易蜂巢提供的 https://c.163yun.com/hub#/m/home/
以及daocloud:http://hub.daocloud.io(推荐使用daocloud)
怎么从这个网站上拉取镜像,待会在第四章、镜像操作里会说
💠在公司内部,会采用私服的方式拉取镜像
需要添加如下配置

修改文件:/etc/docker/daemon.json
添加以下代码(如果在/etc/docker下找不到daemon.json文件,可以自己新建)

{
     "registry-mirrors":["https://registry.docker-cn.com"],
     "insecure-registries":["ip:port"]
}

上面ip和port是你公司内部的地址和端口号
然后还需要重启两个服务,在Xterm中输入以下代码

systemctl daemon-reload
systemctl restart docker

上面两行代码把镜像重启、docker重启


四、镜像操作

登录到上面说过的国内的仓库daocloud :http://hub.daocloud.io
在这里插入图片描述
在这里插入图片描述
注册登录一下:
在这里插入图片描述
在这里插入图片描述

这里我选择的版本是8.5.15-jre8
在这里插入图片描述

复制上面的路径。
到Xterm中输入如下代码拉取tomcat:

docker pull 镜像名称

镜像名称就是我们刚刚复制的那个路径
在这里插入图片描述

docker pull daocloud,io/Library/tomcat:8.5.15-jre8

回车,就可以成功拉取tomcat

接下来,输入命令docker images查看上面这个tomcat镜像是否下载成功
在这里插入图片描述
可以看到下载成功
♦️Docker pull命令就是下载镜像
下面来下载mysql,输入以下命令:
Docker pull mysql
刚刚下载tomcat的时候是去仓库daocloud中复制路径,我们可以选择下载的版本,上面下载的是8.5的版本的Tomcat。
现在下载mysql没有去仓库daocloud复制路径,直接输入名称如下图:
默认就会下载最新版(latest)的mysql
在这里插入图片描述
当然,我们也可以指定下载版本
输入命令:docker pull mysql:5.7
在这里插入图片描述
运行发现,部分已经存在,刚刚下载mysql最新版的时候已经下载过了一部分,对于相同的部分不会重复下载。
输入docker images查看镜像
在这里插入图片描述
由上图可以看到mysql镜像有2个版本,一个最新版latest,还有一个5.7版本


♦️删除镜像,怎么删除?
在这里插入图片描述看上图中红色剪头所指的部分,
是刚刚下载的tomcat
和一开始下载的hello-world对应的IMAGE ID
如图,删除镜像的时候就用的这个Image ID值,但不用写完整,只要写开头几个就行,例如,hello-world的Image ID是fce289e99eb9,删除的时候只要写开头两个字母fc就可以删除。
输入命令docker rmi fc删除hello-world镜像
输入命令docker rmi b8删除tomcat镜像
在这里插入图片描述
删除hello-world报错是因为这个程序正在运行中没法删除
🔹一次性删除所有镜像
输入命令:docker rmi -f $(docker images -aq)
在这里插入图片描述
docker images -aq命令可以查看所有镜像的ID,往下翻,在docker帮助命令中有具体使用方式


♦️镜像的导入导出(不规范)

🔹将本地的镜像导出

docker save -o 导出的路径 镜像id

🔹加载本地的镜像文件

docker load -i 镜像文件

实操如下:
把下载的tomcat镜像导出,依据的是Image ID
在这里插入图片描述
在Xterm中输入上图剪头所示代码,
docker save -o ./tomcat.image b8的意思是
把镜像(Image ID以b8开头)下载到当前目录
./tomcat.image中(.代表当前目录)
在这里插入图片描述
上图中,ls查看,可以看到导出成功,存在tomcat.image
接下来把导出的这个文件再次重新下载回来
先把一开始从daocloud上pull下来的tomcat删除。从刚刚导出的这个位置(./tomcat.image)重新下载回来。
上面说过,删除要依据Image ID,所以先输入以下命令:

docker Images

查看所有镜像如下图所示:
在这里插入图片描述
可以看到tomcat镜像的Image ID是b8开头
所以输入命令docker rmi b8删除tomcat镜像
然后从刚刚导出的这个位置(./tomcat.image)重新下载回来。
导入的命令:

docker load -i tomcat.image

如下图
在这里插入图片描述
下载成功如下图:
在这里插入图片描述
导入完成以后,再次查看镜像:docker images
如下图红色方框,导入的镜像没有tag,为none
在这里插入图片描述
如上图,绿色标注就是修改Image ID以b8开头的这个镜像的tag

docker tag b8 tomcat:8.5

再次查看:docker images,tag值不再是none,而是你刚刚修改的tomcat :8.5

docker帮助命令

♦️显示Docker的版本信息

docker version

在这里插入图片描述
♦️查看docker的系统信息,包括镜像和容器的数量

docker info

在这里插入图片描述
如上图所示,容器有1个,正在运行0个,0个暂停的,0个停止的,1个镜像,版本信息是19.03.8

♦️Doctor的帮助命令

docker 命令 --help

如下查看镜像的可选项
在这里插入图片描述
可以看到,
-a是–all的缩写,列出所有镜像
-f是–filter的缩写,
-q是–quiet的缩写,列出镜像的Image ID
在这里插入图片描述
上图中-aq的意思是列出所有镜像的Image ID

♦️ docker search 搜索镜像

搜索镜像类似于我们直接在仓库中搜索,
如下图中在docker hub官网上搜索mysql的镜像
https://hub.docker.com/search?q=mysql&type=image
在这里插入图片描述
搜索结果如下
在这里插入图片描述
上图中可以看到第一个搜索结果,
mysql的收藏量stars是9.5k
在这里插入图片描述
接下来我们直接在Xterm上操作
🔹输入命令docker search mysql查看MySQL的镜像
在这里插入图片描述
上图中可以看到,收藏量STARS是9494,与刚刚在官网上查到的一样
🔹接下来,输入docker search --help查看帮助文档
在这里插入图片描述
可以看到docker search这个命令的可选项只有-f过滤
输入以下命令:
docker search --filter=STARS=3000
搜索结果就是收藏量stars大于3000的
docker search --filter=STARS=5000
搜索结果就是收藏量stars大于5000的
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装Docker详细步骤总结 的相关文章

随机推荐

  • 差分放大电路及动态分析

    由温度引起的零点漂移成为温漂 xff0c 引入负反馈 加入Re电阻 从抑制温度漂移的角度来说 希望Re越大越好 但是会导致放大倍数变小 加一个镜像的电路可以让两边一起浮动 但是两个Re可以共用一个 于是改成下面的 形式 Re电阻现在的作用变
  • FreeRTOS的启动流程

    目前的RTOS中有两种比较流行的启动方式 万事俱备 只欠东风 xff1a 在main函数中将硬件初始化 xff0c rtos系统初始化 xff0c 所有任务的创建都完成 再启动RTOS的调度器 xff08 在刚刚创建的的任务中选择一个优先级
  • FreeRTOS--消息队列

    队列 xff1a 队列又称为消息队列 xff0c 是一种用于任务间通信的数据结构 xff0c 是一种异步通信方式 xff0c 实现接收来自其他任务或者中断的不固定长度的消息 xff0c 任务能够从队列中读取消息 xff0c 当队列中消息是空
  • FreeRTOS--信号量

    信号量的基本概念 xff1a 信号量是一种实现任务间通信的机制 xff0c 可以实现任务之间同步或者临界资源的互斥访问 xff0c 常用于协助一组相互竞争的任务来访问临界资源 信号量是一个非负整数 xff0c 所以获取它的任务都会将整数减一
  • FreeRTOS-互斥信号量

    互斥量又称为互斥信号量 xff0c 本质是一种特殊的二值信号量 xff0c 支持互斥量所有权 xff0c 递归访问 xff0c 以及防止优先翻转的特性 xff0c 用于实现对临界资源的独占式处理 任意时刻互斥量的状态只有两种 xff0c 开
  • FreeRTOS--软件定时器

    定时器 xff1a 从指定的时刻开始 经过一个指定时间 触发一个超时事件 用户自定义定时器的周期和频率 硬件定时器 xff1a 芯片本身提供的定时功能 一般是外部晶振提供给芯片输入时钟 芯片向软件模块一直配置寄存器 接收控制输入 到达设定时
  • FreeRTOS--任务通知

    任务通知 xff1a 每个任务有一个32位的通知值在大多数情况下 xff0c 任务通知可以替代二值信号量 计数信号量 事件组 xff0c 也可以替代长度为 1 的队列 xff08 可以保存一个 32位整数或指针值 xff09 使用任务通知比
  • 模拟实现strchr,strrchr,strstr,strrstr函数

    模拟实现strchr strnchr strstr strrstr函数 strchr 查找字符串s中首次出现字符c的位置 xff0c 返回首次出现c的位置的指针 xff0c 如果s中不存在c则返回NULL include lt stdio
  • FreeRTOS--内存管理

    FreeRTOS操作系统将内核和内存管理分开实现 xff0c 操作系统内核仅规定了必要的内存管理函数原型 不关心内存管理函数是如何实现的 所以在 FreeRTOS 中提供了多种内存分配算法 xff08 分配策略 xff09 xff0c 但是
  • 谈谈C++多态的基本使用和总结

    前言 文章目录 前言1 多态的理解2 构成多态的条件3 虚函数4 虚函数的重写 覆盖 5 多态调用虚函数的规则6 析构函数的重写 基类与派生类析构函数的名字不同 7 设计一个不能被继承的基类8 final关键字和override 关键字9
  • 位运算-2进制表示浮点数

    2进制表示浮点数 题目实现思路代码实现 题目 输入一个浮点数 xff0c 输出浮点数的二进制码 实现思路 1 二进制表示浮点数 xff1a 以0为原点向左移是2的整数次幂 xff0c 向右移是逐级除2 类似 8 4 2 1 0 0 5 0
  • Realsense相机疑难问题

    目录 不同传感器模块之间的外参问题问题描述解决办法打开windows命令行 xff0c 将目录导航到C Program Files x86 Intel RealSense SDK 2 0 tools目录下确保此时电脑连入了Realsense
  • 2023.3.17 | Goby红队版可利用漏洞更新

    Goby预置了最具攻击效果的漏洞引擎 xff0c 覆盖Weblogic xff0c Tomcat等最严重漏洞 每天从互联网 xff08 如CVE xff09 会产生大量的漏洞信息 xff0c 我们筛选了会被用于真实攻击的漏洞进行每日更新 G
  • 算法落地思考:如何让智能运维更智能

    嘉宾 王鹏 整理人 西狩xs 出品 CSDN云原生 AIOps是人工智能与运维的结合 xff0c 能够基于已有的运维数据 xff0c 利用人工智能算法 xff0c 通过机器学习的方式帮助企业提升运维效率 xff0c 解决自动化运维无法管理的
  • Python 实现用网页展示多个结果表数据

    Python 实现用网页展示多个表格的数据 前言 一 效果图 二 代码 1 引入库 2 函数定义 3 主程序 前言 实现方法是利用pandas to html 与表格展示的美化相结合 使数据展示更美观 一 效果图 示例 二 代码 本文将使用
  • ubuntu桌面翻转怎么设置成正常?

    有一次在ubuntu设置中 xff0c 脑残在桌面设置里把桌面翻转了 xff0c 虽然有撤回按钮 xff0c 但是桌面翻转了 xff0c 鼠标不受控制 这里介绍一种办法 xff1a Ctrl 43 Alt 43 T 打开终端 xrandr
  • ubuntu20运行VINS-Fusion报错

    ubuntu20运行VINS Fusion报错 Ubuntu20运行VINS Fusion xff0c catkin make报错可以csdn解决 xff1b 但是启动vins node节点的时候 xff0c 就会显示 段错误 xff0c
  • 谷粒学院自学笔记

    谷粒学院自学笔记 day01上午一 MyBatis Plus的入门配置 下午 day02day03day04 Day05Day06Day07Day08Day09Day10Day11Day12Day13Day14Day15Day16Day17
  • CPU 任务调度算法

    摘录自 TSN网络中时间同步精度提升与可靠性研究 董林峰 可参考文章 xff1a https blog csdn net qq 38216239 article details 80374539 多任务操作系统按调度策略的差别可以细分为抢占
  • 安装Docker详细步骤总结

    一 安装Docker 1 下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum y install yum utils device mapper persistent datalvm2 使用yum工具下载