01_中间件部署_root 用户安装 docker 容器
目录
- [01_中间件部署_root 用户安装 docker 容器](#01_中间件部署_root 用户安装 docker 容器)
-
- 虚拟机理解
- [root 用户安装 docker 容器](#root 用户安装 docker 容器)
-
- 安装前理解
-
- [docker 在root安装还是普通用户安装?](#docker 在root安装还是普通用户安装?)
- 安装docker命令
- Docker配置非root用户权限,将当前用户添加到docker用户组
- 配置镜像源
虚拟机理解
1、用户选择
在虚拟机中,使用普通用户还是root用户进行中间件部署?
----选择普通用户安装,我这里的【ljh】作为业务用户。
用户 用途
root 系统管理、安装软件
ljh NFTurbo 项目 + 所有中间件
总结:
-业务相关的,全部归于业务用户
-安装基础环境、修改系统级配置、给 ljh 目录授权 这些操作,就需要切换root用户来设置。
2、运行环境分析
2-1:系统基本信息
Ubuntu 版本、内核版本、发行版信息
lsb_release -a
uname -a
cat /etc/os-release

2-2:创建文件夹
确认当前用户:
whoami
输出:ljh
确认 HOME 目录:
pwd
输出:/home/ljh
新建统一存放中间件的文件夹
mkdir -p ~/nfturbo/middleware
pwd:
/home/ljh/nfturbo/middleware
2-3:切换用户
sudo -i 输入密码 , 进入root用户
exit 退出,返回到 ljh 用户
也可以 su - ljh 切换回 ljh 用户
2-4:查看当前虚拟机有哪些用户
cut -d: -f1 /etc/passwd

# 显示的是 谁登录系统
who
# 查看的是当前终端用户,已经是 root
whoami
理解:我一开登录虚拟机是ljh这个用户号,然后才用 sudo -i 切换成root用户的。

root 用户安装 docker 容器

安装前理解
docker 在root安装还是普通用户安装?
用 root 安装,普通用户 ljh 使用
安装 Docker 要改系统配置 → 只有 root 能做
日常用 Docker(跑容器) → 普通用户更安全
安装docker命令
java
执行以下命令安装 Docker 社区版本
如果您使用的是非阿里云服务器,请将 http://mirrors.cloud.aliyuncs.com 替换为 https://mirrors.aliyun.com
安装 Docker 命令,在任意路径都能执行,不用切换目录。
后续用挂载数据卷时才需要指定具体路径
# 1.更新包管理工具,确保最新的软件源列表----------------------
sudo apt-get update
# 添加Docker软件包源 -- 这里我是在虚拟机的ubuntu系统安装的,所以需要改成 https://mirrors.aliyun.com----------------------
# 2. 安装依赖工具(支持 https 源和其他必要组件)
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# 3. 添加阿里云 Docker 官方 GPG 密钥,保证软件包安全性
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 4. 添加阿里云的 Docker 软件源(这里会自动根据你的系统架构和版本选择)
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件----------------------
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动 Docker----------------------
sudo systemctl start docker
# 设置Docker守护进程在系统启动时自动启动,就是开机自启动----------------------
sudo systemctl enable docker
通过查看Docker版本命令,验证Docker是否安装成功。
sudo docker -v
执行以下命令,查看Docker是否启动。
sudo systemctl status docker

Docker配置非root用户权限,将当前用户添加到docker用户组

查看权限
# 查看 docker 组成员
getent group docker
如图可以看出,此时的docker 只有root能用,ljh这个用户还没有被加入docker组中

# 查看当前用户ljh属于哪些用户组
groups

命令
# 让 ljh 可以用 docker(不用 sudo),将当前用户添加到docker用户组
sudo usermod -aG docker ljh
# 执行newgrp docker命令生效后。直接使用docker命令,无需添加sudo
newgrp docker

如图,可以看到ljh用户也能使用docker了

配置镜像源
java
vi /etc/docker/daemon.json
daemon.json 是 Docker 的守护进程配置文件,默认情况下这个【文件不存在】,需要我自己来创建
如果文件不存在,vi 会新建一个空文件,然后就可以在里面写配置内容
{
"registry-mirrors": [
"https://docker.anyhub.us.kg/",
"https://hub.uuuadc.top/",
"https://dockerhub.jobcher.com/",
"https://dockerhub.icu/",
"https://docker.ckyl.me/",
"https://docker.awsl9527.cn/",
"https://q7ta64ip.mirror.aliyuncs.com",
"https://hx983jf6.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://docker.m.daocloud.io",
"https://mirror.baidubce.com",
"https://docker.nju.edu.cn",
"https://jockerhub.com",
"https://dockerhub.azk8s.cn",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.nju.edu.cn",
"https://mirror.iscas.ac.cn",
"https://dockerpull.org",
"https://docker.1panel.dev",
"https://docker.fxxk.dedyn.io",
"https://docker.xn--6oq72ry9d5zx.cn",
"https://docker.zhai.cm",
"https://docker.5z5f.com",
"https://a.ussh.net",
"https://docker.cloudlayer.icu",
"https://hub.littlediary.cn",
"https://hub.crdz.gq",
"https://docker.unsee.tech",
"https://docker.kejilion.pro",
"https://registry.dockermirror.com",
"https://hub.rat.dev",
"https://dhub.kubesre.xyz",
"https://docker.nastool.de",
"https://docker.udayun.com",
"https://docker.rainbond.cc",
"https://hub.geekery.cn",
"https://docker.1panelproxy.com",
"https://atomhub.openatom.cn",
"https://docker.m.daocloud.io"
]
}
w(write 保存) + q(quit 退出)
使配置生效:
sudo systemctl daemon-reload
重启Docker:
sudo systemctl restart docker