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 状态
相关推荐
Java陈序员2 天前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
爱吃橘子橙子柚子3 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
舒一笑4 天前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData5 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
用户13573999256605 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h5 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境