Docker从认识到实践再到底层原理(三)|Docker在Centos7环境下的安装和配置

前言

那么这里博主先安利一些干货满满的专栏了!

首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。

然后就是博主最近最花时间的一个专栏《Docker从认识到实践再到底层原理》希望大家多多关注!


第三章-docker介绍

docker官网

docker的安装

博主用centos7系统作为演示。

检查自己的系统

检查系统和版本。

bash 复制代码
cat /etc/*release*
bash 复制代码
(base) [yufc@ALiCentos7:~]$ cat /etc/*release*
CentOS Linux release 7.9.2009 (Core)
Derived from Red Hat Enterprise Linux 7.9 (Source)
cat: /etc/lsb-release.d: Is a directory
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.9.2009 (Core)
CentOS Linux release 7.9.2009 (Core)
cpe:/o:centos:centos:7
(base) [yufc@ALiCentos7:~]$

博主这里是Centos7版本的Linux。

检查cpu架构。

bash 复制代码
uname -a
bash 复制代码
(base) [yufc@ALiCentos7:~]$ uname -a
Linux ALiCentos7 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 GNU/Linux
(base) [yufc@ALiCentos7:~]$

卸载旧版本

命令如下。

bash 复制代码
sudo yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine

卸载历史版本

bash 复制代码
sudo yum remove docker-ce docker-ce-cli containerd.io docker- buildx-plugin docker-compose-plugin docker-ce-rootless-extras # 删除机器上的包
bash 复制代码
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /data/var/lib/docker
sudo rm -rf /etc/docker/daemon.json # 这是修改后的配置,根据实际情况进行设置

配置仓库

这是我们机器上的仓库。

bash 复制代码
(base) [yufc@ALiCentos7:~]$ ll /etc/yum.repos.d/
total 32
-rw-r--r-- 1 root root  675 Apr 27 23:11 CentOS-Base.repo
-rw-r--r-- 1 root root  998 Dec 11  2018 CentOS-SCLo-scl.repo
-rw-r--r-- 1 root root  971 Oct 29  2018 CentOS-SCLo-scl-rh.repo
-rw-r--r-- 1 root root  230 Apr 27 23:11 epel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo.rpmnew
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo
-rw-r--r-- 1 root root 1838 Apr 27  2017 mysql-community.repo
-rw-r--r-- 1 root root 1885 Apr 27  2017 mysql-community-source.repo
(base) [yufc@ALiCentos7:~]$

我们要把docker给的仓库装到里面去

bash 复制代码
sudo yum install -y yum-utils # 安装最新的yum-utils
bash 复制代码
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装docker的仓库

此时里面就多了一个docker-ce.repo的仓库了。

配置使用国内源

bash 复制代码
sudo sed -i 's@//download.docker.com@//mirrors.ustc.edu.cn/docker-ce@g' /etc/yum.repos.d/docker-ce.repo

安装最新版本

bash 复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io docker- buildx-plugin docker-compose-plugin

启动docker

bash 复制代码
#配置加载
sudo systemctl daemon-reload #启动服务
sudo systemctl start docker #开启启动
sudo systemctl enable docker #查看服务状态
sudo systemctl status docker # 查看状态


此时的docker就是启动的状态了!

查看docker版本

bash 复制代码
sudo docker version
bash 复制代码
sudo docker info

docker安装实战经验

docker镜像源修改

bash 复制代码
cd /etc/docker/ # 进入docker配置的目录
bash 复制代码
touch daemon.json # 创建 daemon.json
bash 复制代码
vim daemon.json # 编辑这个文件

输入这些内容。

json 复制代码
{
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
bash 复制代码
systemctl daemon-reload # 加载配置
systemctl restart docker # 重启docker服务

docker数据目录调整

Docker 默认的安装目录为/var/lib/docker,这里面会存放很多很多镜像,所以我们在安装的时候需要考虑这个目录的空间,有三种解决方案。

  1. /var/lib/docker挂载到一个大的磁盘,这种一般我们能控制挂载目录,像腾讯云这种云厂商在安装 K8s 的节点的时候提供了挂载选项,可以直接挂载这个目录过去
  2. 安装之前挂载一个大的磁盘,然后创建一个软链接到/var/lib/docker,这样就自动安装到我们空间比较大的磁盘了
  3. 安装了docker,然后发现忘了配置这个目录,我们需要修改docker的配置文件。
bash 复制代码
#假定我们磁盘的大的目录为 /data mkdir -p /data/var/lib/docker # 编辑配置文件
vi /etc/docker/daemon.json
# 输入下面的json
{
	"data-root": "/data/var/lib/docker" 
}
# 加载配置
sudo systemctl daemon-reload
sudo systemctl restart docker # 重启docker
sudo systemctl status docker # 查看 docker 状态
相关推荐
vvilkim14 分钟前
Java主流框架全解析:从企业级开发到云原生
java·运维·云原生
Wy_编程4 小时前
Linux-文本搜索工具grep
linux·运维·服务器
qq998994 小时前
AAA服务器技术
运维·服务器
Lovyk5 小时前
Linux Shell 常用操作与脚本示例详解
linux·运维·服务器
iCan_qi5 小时前
【Mac】【Minecraft】关于如何在Mac上搭建基岩版MC服务器的方法
运维·服务器·macos·minecraft
JohnYan7 小时前
工作笔记 - CentOS7环境运行Bun应用
javascript·后端·容器
ezreal_pan7 小时前
Kubernetes 负载均衡现象解析:为何同一批次请求集中于单个 Pod
运维·云原生·k8s·traefik
朱皮皮呀8 小时前
Spring Cloud——服务注册与服务发现原理与实现
运维·spring cloud·eureka·服务发现·php
科大饭桶8 小时前
C++入门自学Day14-- Stack和Queue的自实现(适配器)
c语言·开发语言·数据结构·c++·容器
云边云科技9 小时前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售