参考源

https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0

版本

本文章基于 CentOS 7.6


这里使用 yum 方式安装 Docker

概述

yum 是 Linux 的在线安装方式,是比较方便的。

由于 yum 是在线安装,需要从网络获取数据,所以得先保证系统是能联网的,否则一定会安装失败。

这里使用安装 Docker 作为示例。

安装

官网安装参考手册

https://docs.docker.com/install/linux/docker-ce/centos/

命令

yum install 程序名

参数

-y:所有的 yes / no 都选择 yes,确定安装时都选择 yes 时可以使用,可以省去一些选择步骤。

1、系统版本检测。

本次示例基于 CentOS 7 进行演示,所以需要先确认系统的版本。

cat /etc/redhat-release

2、卸载以前的 Docker。

为避免版本之间的冲突,这里建议先卸载以前的版本再进行安装。

yum -y remove docker docker-common docker-selinux docker-engine

由于这里之前没有安装过 Docker,所以显示没有匹配到。

3、安装运行环境。

Docker 是用 Go 语言开发的。

Go 语言基于 CC++,所以需要先安装 CC++ 环境。

安装 C 环境。

yum -y install gcc

安装 C++ 环境。

yum -y install gcc-c++

4、环境准备。

根据 Docker 官网的建议,需要再安装一些环境。

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

5、设置镜像仓库。

这里官网建议我们安装国外的镜像仓库。

由于对国外的网络限制,国内安装的话会非常慢,并很有可能失败。

推荐国内用户安装阿里云镜像。

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

6、更新 yum 软件包索引.

这里官网建议我们更新 yum 软件包索引:

yum makecache fast

7、安装 Docker.

做完前面的准备工作,就可以开始安装 Docker 了

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

这里的 docker-ce 指的是 Docker 的社区版。

如果是需要企业版的话就改为 docker-ee ,不过企业版是收费的,而且功能也略有不同。

官方更推荐社区版,所以这里我们安装docker-ce

8、启动 Docker。

Docker 安装完成后,就可以运行如下命令启动。

systemctl start docker

测试

启动 Docker 后,我们可以运行如下命令对 Docker 进行测试。

查看 Docker 进程

[root@sail ~]# ps -ef|grep docker
root 18805 1 0 16:54 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 19233 16612 0 16:59 pts/0 00:00:00 grep --color=auto docker

由此可以看出,Docker 是启动成功了的。

查看版本信息

[root@sail ~]# docker version
Client: Docker Engine - Community
Version: 20.10.11
API version: 1.41
Go version: go1.16.9
Git commit: dea9396
Built: Thu Nov 18 00:38:53 2021
OS/Arch: linux/amd64
Context: default
Experimental: true Server: Docker Engine - Community
Engine:
Version: 20.10.11
API version: 1.41 (minimum version 1.12)
Go version: go1.16.9
Git commit: 847da18
Built: Thu Nov 18 00:37:17 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0

可以看出 Docker 的版本为 20.10.11

运行 Hello World 镜像

Hello World 镜像是 Docker 官方为测试 Docker 环境和运行情况所设定的一个程序。

docker run hello-world
[root@sail ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
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 工作环境是搭建完毕了的。

Hello from Docker!
This message shows that your installation appears to be working correctly.

查看镜像

在执行启动 Hello World 镜像的命令时,如果本地没有该镜像,会先从镜像库中拉取该镜像再启动。

使用 docker images 查看目前的 Docker 的镜像情况:

[root@sail ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 2 months ago 13.3kB

这里我们可以看到刚拉取的 hello-world 镜像,以及它的相关信息。

阿里云镜像加速

如果是阿里云的服务器,还可以使用阿里云的镜像加速使得 Docker 使用起来更加快速和高效。

打开阿里云服务器列表,选择如图所示的容器镜像服务

选择如图所示的镜像加速器,然后选择对应的服务器系统。

在服务器上依次执行上图所示的 4 条命令即可实现阿里云的镜像加速。

至此,yum 方式安装 Docker 完毕。

Linux 12 安装Docker的更多相关文章

  1. Arch系Linux中安装Docker

    Arch系Linux中安装Docker 1. 下载最新版docker $ sudo pacman -Syu docker 2. 免sudo执行docker $ sudo gpasswd -a ${US ...

  2. Docker学习笔记二(linux下安装Docker)

    Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,l ...

  3. linux环境安装docker,部署应用

    安装: 1.Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker 2.更新yum包:sudo yum update 3. ...

  4. linux命令安装docker

    安装: 1.Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker 2.更新yum包:sudo yum update 3. ...

  5. 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署

    概述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共 ...

  6. 在linux上安装docker

    我的linux系统是阿里云服务器,是centos版本的. 前置条件 64-bit 系统 kernel 3.10+ 用uname -r命令检查内核版本,返回的值大于3.10即可. 用sudo wget ...

  7. 【linux】安装docker

    硬件Centos6.9 x86_64 1.查看centos内核,uname -r 目前,CentOS 仅发行版本中的内核支持 Docker. Docker 运行在 CentOS 7 上,要求系统为64 ...

  8. Linux Mint安装Docker踩坑指南

    我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...

  9. Linux 上安装Docker 并部署netcor2.1

    述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享 ...

随机推荐

  1. 【Java面试】如何理解Spring Boot中的Starter?

    一个工作了3年的Java程序员,遇到一个Spring Boot的问题. 他对这个问题有一些了解,但是回答得不是很好,希望参考我的高手回答. 这个问题是:"如何理解Spring Boot中的S ...

  2. HTML 继承属性

    一.无继承性的属性 1.display:规定元素应该生成的框的类型 2.文本属性: vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shad ...

  3. MySQL - 数据库设计步骤

    需求分析:分析用户的需求,包括数据.功能和性能需求. 概念结构设计:主要采用E-R模型进行设计,包括画E-R图. 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换,进行关系规范化 ...

  4. 【zigbee无线通信模块步步详解】ZigBee3.0模块建立远程网络控制方法

    本文以路灯控制应用为例,简述ZigBee3.0模块使用流程. 一.建立网络 1.通过USB转串口模块将出厂的ZigBee自组网模块连接,打开上位机软件"E180-ZG120A-Setting ...

  5. linux系统健康检查脚本

    #!/bin/bash echo "You are logged in as `whoami`"; if [ `whoami` != root ]; then echo " ...

  6. mysql中in的用法详解

    一.基础用法 mysql中in常用于where表达式中,其作用是查询某个范围内的数据. select * from where field in (value1,value2,value3,-) 当 ...

  7. C#.NET笔试题-基础

    1.C#中堆和栈的区别? 栈:由编译器自动分配.释放.在函数体中定义的变量通常在栈上. 堆:一般由程序员分配释放.用new.malloc等分配内存函数分配得到的就是在堆上. 存放在栈中时要管存储顺序, ...

  8. Task.Run(), Task.Factory.StartNew() 和 New Task() 的行为不一致分析

    重现 在 .Net5 平台下,创建一个控制台程序,注意控制台程序的Main()方法如下: static async Task Main(string[] args) 方法的主体非常简单,使用Task. ...

  9. 机器学习基础:用 Lasso 做特征选择

    大家入门机器学习第一个接触的模型应该是简单线性回归,但是在学Lasso时往往一带而过.其实 Lasso 回归也是机器学习模型中的常青树,在工业界应用十分广泛.在很多项目,尤其是特征选择中都会见到他的影 ...

  10. 一张图进阶 RocketMQ - 消息发送

    前 言 三此君看了好几本书,看了很多遍源码整理的 一张图进阶 RocketMQ 图片链接,关于 RocketMQ 你只需要记住这张图!觉得不错的话,记得点赞关注哦. [重要]视频在 B 站同步更新,欢 ...