Centos基础环境搭建--安装docker

简介: Centos基础环境搭建--安装docker

什么是docker

image.png

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

摘至菜鸟教程, https://www.runoob.com/docker/docker-tutorial.html

举个简单的例子,如果项目新下来10台应用服务器(或者需要做服务器迁移),而这时候你是否会选择重复10次的操作,将每台服务器的基础环境都安装一遍;还是会选择一个已打包好的应用容器,直接“开箱即用”呢?Docker做为一个应用容器引擎,开发者可以将应用或者依赖全部打包到一个可移植的容器中,然后发布到任意一台Linux服务器上。

Centos8.0 安装docker

经测试,centos必须再7.0及以上的版本进行安装。这里使用centos8.0。
可以根据以下命令查看centos版本,以及内核版本。
安装过程使用root用户,如果是非root用户,都需要使用sudo。

[root@iZuf68t6hada0ayijajs45Z ~]# lsb_release -a    //查看CentOS版本
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 8.2.2004 (Core) 
Release:    8.2.2004
Codename:    Core
[root@iZuf68t6hada0ayijajs45Z ~]# uname -r   //系统内核版本,要求系统为64位
4.18.0-193.el8.x86_64
1、查看是否已安装docker
[root@iZuf68t6hada0ayijajs45Z ~]# yum list installed | grep docker

如果已安装,将其卸载

[root@iZuf68t6hada0ayijajs45Z ~]# yum remove docker  docker-common docker-selinux docker-engine
2、安装依赖包
[root@iZuf68t6hada0ayijajs45Z ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

yum-utils 提供了yum-config-manager,而 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2

3、设置yum源

官方地址:

[root@iZuf68t6hada0ayijajs45Z ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

阿里:

[root@iZuf68t6hada0ayijajs45Z ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学:

[root@iZuf68t6hada0ayijajs45Z ~]# yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
4、查看仓库中所有docker-ce版本,选择合适的版本安装。
[root@iZuf68t6hada0ayijajs45Z ~]# yum list docker-ce --showduplicates | sort -r

docker在17.03之后的版本分为CE(社区版)和EE(企业版),我们使用CE版本。

5、安装docker
[root@iZuf68t6hada0ayijajs45Z ~]# yum install docker-ce-17.12.1.ce

这里我选择了17.12.1-ce的版本安装,过程中提示了一个错误:

Last metadata expiration check: 0:01:05 ago on Wed 22 Jul 2020 04:10:27 PM CST.
Error: 
 Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering
  - package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

这是由于未安装containerd.io依赖,或者是containerd.io版本过低。
安装,有点慢:

[root@iZuf68t6hada0ayijajs45Z ~]# dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.3.el7.x86_64.rpm

在重新安装docker,成功。

[root@iZuf68t6hada0ayijajs45Z ~]# yum install docker-ce-17.12.1.ce

再确认是否已经正确安装,版本17.12.1.ce-1.e17.centos已安装

[root@iZuf68t6hada0ayijajs45Z ~]# yum list installed | grep docker
docker-ce.x86_64                     17.12.1.ce-1.el7.centos                 @docker-ce-stable
6、启动docker,配置开机自启
[root@iZuf68t6hada0ayijajs45Z ~]# systemctl start docker
[root@iZuf68t6hada0ayijajs45Z ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
7、验证
[root@iZuf68t6hada0ayijajs45Z ~]# docker version
Client:
 Version:    17.12.1-ce
 API version:    1.35
 Go version:    go1.9.4
 Git commit:    7390fc6
 Built:    Tue Feb 27 22:15:20 2018
 OS/Arch:    linux/amd64

Server:
 Engine:
  Version:    17.12.1-ce
  API version:    1.35 (minimum version 1.12)
  Go version:    go1.9.4
  Git commit:    7390fc6
  Built:    Tue Feb 27 22:17:54 2018
  OS/Arch:    linux/amd64
  Experimental:    false
[root@iZuf68t6hada0ayijajs45Z ~]# 
8、修改docker默认存储位置
[root@iZuf68t6hada0ayijajs45Z ~]# vim /usr/lib/systemd/system/docker.service

image.png

加上自己的路径。
保存,重启。

[root@iZuf68t6hada0ayijajs45Z ~]# systemctl daemon-reload
[root@iZuf68t6hada0ayijajs45Z ~]# systemctl restart docker

在查看目录:

[root@iZuf68t6hada0ayijajs45Z ~]# docker info

image.png

已修改。
至此,docker的安装就已完成。

相关文章
|
4天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
4天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
8 2
|
7天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
22 3
|
8天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
16 2
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
46 2
|
10天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
42 2
|
11天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
15 3
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
13天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
14天前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
17 1