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 状态
相关推荐
YRr YRr16 分钟前
ubuntu ros 解决建完图后 保存的地图非常小的问题
linux·运维·ubuntu
李少兄34 分钟前
Docker 命令总结:从入门到入土
docker·容器·eureka
石牌桥网管1 小时前
DNS Resolver解析服务器出口IP查询
运维·网络·tcp/ip·dns
LKAI.1 小时前
华为路由策略配置
运维·网络·华为·智能路由器
IpdataCloud1 小时前
IP数据云 识别和分析tor、proxy等各类型代理
运维·服务器
想学习java初学者2 小时前
Docker compose部署elasticsearch(单机版)
运维·docker·容器
人类群星闪耀时2 小时前
未来运维的发展趋势:运维领域的新技术与趋势
运维
落非2 小时前
NFS存储基础操作
运维
WEIII3 小时前
MySQL 主从复制原理与搭建实践
后端·mysql·docker
Vanish_ran3 小时前
gitlab与jenkins
运维·gitlab·jenkins