CentOS 8.4安装Docker

简介: CentOS 8.4安装Docker

前言:

  Docker 是一个用于开发、传送和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产中运行代码之间的延迟。为了让开发、部署、测试和分发变得更高效和轻松,让我们把Docker安装起来体验一下它的魅力所在吧!

系统要求:

  • Docker 支持 64 位版本 CentOS 7/8,并且要求内核版本不低于 3.10。
  • 需要启用centos-extras repository。在 CentOS 7 中这个仓库是默认启用的,如果之前有将其禁用,则需要重新启用
  • CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。

安装环境:

  本文主要是在Liunx操作系统CentOS8.4中安装Docker,我们安装之前可以先查看自己的系统版本,使用命令:lsb_release -a 进行查看(如下图所示)。

注意:切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker.

1336199-20211024130920482-1607410258.png

卸载旧版本:

旧版本的Docker在CentOS中的包名为docker或者docker-engine。如果你之前的Linux CentOS系统中安装了Docker的旧版本,你需要先卸载旧版Docker及其相关依赖,执行以下命令

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

因为我的系统系刚安装的,所以执行上面的命令提示的是没有找到需要移除的包!

如果yum报告没有安装这些软件包,那也没关系

注意/var/lib/docker/目录下的内容,包括镜像、容器、卷组、网络等文件将被保留Docker CE 的新包名为docker-ce

🚀回到顶部

yum到底是干什么的?

简单描述:yum称为包管理器,主要用来解决:下载、依赖关系、安装、卸载四种问题。

详细说明:https://blog.csdn.net/weixin_43202123/article/details/119948927

🚀回到顶部

使用yum安装:

执行以下命令安装依赖包和必要的一些系统工具:

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

配置yum稳定镜像源:

因为国内网络原因,推荐使用阿里云提供的Docker CE 镜像源站!

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

1336199-20211024143743911-1981152977.png

官方镜像源地址:

# 官方源
# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker

更新 yum 软件源缓存,并安装 docker-ce(一路yes即可)

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

如下是成功安装的依赖:  

1336199-20211024144608450-807112451.png

查看安装成功的docker版本:docker -v

1336199-20211024145931976-483608868.png

CentOS8 额外设置

由于 CentOS8 防火墙使用了 nftables,但 Docker 尚未支持 nftables。

首先我们查看防火墙的状态,假如防火墙状态是开启的我们执行下面的操作:

systemctl status firewalld

1336199-20211024145536921-1706141012.png

我们可以使用如下设置使用 iptables:更改 /etc/firewalld/firewalld.conf

# FirewallBackend=nftables
FirewallBackend=iptables

或者执行以下命令:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --reload

开启Docker服务:

执行sudo service docker start 命令开启Docker服务提示异常:Redirecting to /bin/systemctl start docker.service

1336199-20211024150146335-33669840.png

看异常就是需要执行systemctl的相关命令,因为Linux的不同发行版开启Docker服务的命令也有所不同

sudo systemctl enable docker
sudo systemctl start docker

最后查看docker运行状态

systemctl status docker

1336199-20211024151614426-2101127968.png

启动 Docker 守护进程:

官方教程:https://docs.docker.com/config/daemon/systemd/

手动启动

安装 Docker 后,您需要启动 Docker 守护程序。大多数 Linux 发行版用于systemctl启动服务。

sudo systemctl start docker

在系统启动时自动启动

如果您希望 Docker 在启动时启动,请参阅 配置 Docker 以在启动时启动👉

Docker基础命令:

启动docker:systemctl start docker

停止docker:systemctl stop docker

重启docker:systemctl restart docker

查看docker状态:systemctl status docker

开机启动:systemctl enable docker

当前系统docker信息:docker info

列举出所有的容器:docker ps -a

停止容器:docker start 容器ID或容器名

直接关闭容器:docker kill 容器ID或容器名

重启容器:docker restart 容器ID或者容器名

删除容器:docker rm 容器ID或者容器名

查看镜像:docker image ls

更多命令搜索(推荐):Docker命令在线速查手册

测试 Docker 是否安装正确

首先我们输入docker run hello-world是否会出现下图所示的提示,如果出现报错,这环境配置可能出现了问题。

注意:这行命令会让Docker从官方仓库中拉去hello-world的镜像到本地(是本地不存在该镜像的情况),并且将其自动实例化容器。

1336199-20211027001232188-1265128177.png

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
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/

查看hello-World镜像和容器:

1336199-20211026232340323-626461001.png

1336199-20211027001601115-523709877.png

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