【docker】pull 镜像异常

报错信息:

 docker pull centos
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

问题:配置的阿里加速镜像现在停用失效,导致网络无法访问

解决措施:

[root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://mirrors.tuna.tsinghua.edu.cn",
        "http://mirrors.sohu.com",
        "https://ustc-edu-cn.mirror.aliyuncs.com",
        "https://ccr.ccs.tencentyun.com",
        "https://docker.m.daocloud.io",
        "https://docker.awsl9527.cn"
    ]
}
EOF
 

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
 

解决后重新获取镜像

[root@localhost ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       latest    5d0da3dc9764   3 years ago   231MB

<think>嗯,用户展示了一个Linux终端提示符[root@localhost ~],并询问其用法和相关命令。这明显是Linux初学者在寻求基础操作指导。 用户可能刚接触Linux系统,需要从最基础的终端提示符结构开始理解。那个[root@localhost ~]其实包含三个关键信息:当前用户是root(管理员),主机名是localhost,当前目录是家目录~。这些信息对后续命令操作至关重要。 从引用内容看,用户似乎接触过一些基础命令(如uname、useradd配置),但需要系统化的操作指引。我应该先解释提示符含义,再分层次介绍常用命令:从目录导航开始,因为这是所有操作的基础;然后是核心操作命令(文件/进程/权限管理);最后是系统维护命令。这样符合学习路径。 特别注意要强调root账户的危险性——很多新手会忽略权限管理的安全风险。在示例命令中需要明确标注"危险操作"的警告,比如直接使用rm -rf这样的命令。 用户提供的引用材料里有很多实用信息点:引用1展示了进程分析和字符串提取的技巧,引用2详细说明了系统信息查询,引用3涉及用户配置。这些都可以融入相关命令的说明中,但要注意简化专业术语,避免让初学者困惑。 考虑到用户正在操作实体环境,应该优先介绍最常用且安全的命令(如ls/cd/pwd等),危险命令(如rm)必须附带明确警告。同时补充一些提高效率的小技巧,比如Tab补全、历史命令调用,这对新用户特别友好。</think>理解Linux终端提示符`[root@localhost ~]#`及其用法: 1. **提示符结构解析:** * `root`: 表示**当前登录的用户名**。这里是超级管理员`root`。 * `@`: 分隔符。 * `localhost`: 表示**当前计算机的主机名**。`localhost`是默认的本地主机名。 * `~`: 表示**当前工作目录**。`~`是用户家目录的简写(这里是`/root`)。 * `#`: 表示**命令提示符**。`#`通常表示当前用户具有**超级用户(root)权限**。普通用户的提示符通常是`$`。 2. **核心用途:** * 这个提示符是用户与Linux系统内核交互的**命令行界面(CLI)**。 * 用户在此输入命令,系统执行命令并返回结果或状态。 * 它是系统管理、文件操作、软件安装、网络配置等任务的核心工具。 3. **常用命令分类与示例:** **A. 导航与文件系统操作:** * `pwd`: 显示**当前工作目录**的完整路径。 ```bash [root@localhost ~]# pwd /root ``` * `ls`: **列出目录内容**。 * `ls -l`: 详细列表(权限、所有者、大小、时间)。 * `ls -a`: 显示所有文件(包括隐藏文件,以`.`开头)。 ```bash [root@localhost ~]# ls -la /etc ``` * `cd`: **切换目录**。 * `cd /path/to/dir`: 切换到绝对路径。 * `cd ..`: 切换到上级目录。 * `cd` 或 `cd ~`: 切换到当前用户的家目录。 ```bash [root@localhost ~]# cd /var/log [root@localhost log]# pwd /var/log [root@localhost log]# cd ~ [root@localhost ~]# pwd /root ``` * `mkdir`: **创建目录**。 ```bash [root@localhost ~]# mkdir my_new_directory ``` * `touch`: **创建空文件** 或 **更新文件时间戳**。 ```bash [root@localhost ~]# touch newfile.txt ``` * `cp`: **复制文件或目录**。 * `cp source destination`: 复制文件。 * `cp -r source_dir destination_dir`: 递归复制目录。 ```bash [root@localhost ~]# cp file1.txt /backup/ [root@localhost ~]# cp -r my_dir /backup/ ``` * `mv`: **移动文件或目录** 或 **重命名文件或目录**。 ```bash [root@localhost ~]# mv oldname.txt newname.txt # 重命名 [root@localhost ~]# mv file.txt /tmp/ # 移动 ``` * `rm`: **删除文件或目录**。 **(谨慎使用!)** * `rm file`: 删除文件。 * `rm -r directory`: 递归删除目录及其内容 **(危险)**。 * `rm -f file`: 强制删除,不提示确认 **(非常危险)**。 ```bash [root@localhost ~]# rm unwanted_file.txt [root@localhost ~]# rm -r old_directory/ # 删除目录需要 -r ``` * `cat`: **查看文件内容**、连接文件或从标准输入创建文件。 ```bash [root@localhost ~]# cat /etc/passwd ``` * `less` / `more`: **分页查看文件内容** (支持上下滚动搜索)。 ```bash [root@localhost ~]# less /var/log/messages ``` * `head` / `tail`: **查看文件开头/结尾部分**。 * `tail -f /path/to/logfile`: 实时跟踪查看日志文件新增内容。 ```bash [root@localhost ~]# tail -20 /var/log/secure # 查看最后20行 [root@localhost ~]# tail -f /var/log/httpd/access_log # 实时跟踪 ``` * `find`: **在目录树中查找文件**。 ```bash [root@localhost ~]# find / -name "*.conf" # 在根目录下查找所有.conf文件 [root@localhost ~]# find /var/log -mtime -1 # 在/var/log下查找1天内修改过的文件 ``` * `grep`: **在文件中搜索文本模式**。 ```bash [root@localhost ~]# grep "error" /var/log/messages # 在messages文件中搜索"error" [root@localhost ~]# ps aux | grep httpd # 在进程列表中搜索"httpd" ``` **B. 系统信息与管理:** * `uname`: **显示系统信息** (如引用[2]所示)。 * `uname -a`: 显示所有信息。 * `uname -s`: 内核名称。 * `uname -n`: 主机名。 * `uname -r`: 内核发行版本。 * `uname -m`: 硬件架构。 ```bash [root@localhost ~]# uname -a ``` * `top` / `htop`: **动态查看系统进程和资源使用情况** (CPU, 内存等)。`htop`是`top`的增强版。 * `ps`: **查看当前进程快照**。 * `ps aux`: 显示所有用户的详细进程信息。 ```bash [root@localhost ~]# ps aux | grep nginx ``` * `free` / `free -h`: **查看系统内存和交换空间使用情况** (`-h`以易读格式显示)。 ```bash [root@localhost ~]# free -h ``` * `df` / `df -h`: **查看磁盘空间使用情况** (`-h`以易读格式显示)。 ```bash [root@localhost ~]# df -h / ``` * `du` / `du -sh`: **查看目录或文件的磁盘使用情况** (`-s`汇总, `-h`易读)。 ```bash [root@localhost ~]# du -sh /var/log/ ``` * `systemctl`: **管理系统服务** (启动、停止、重启、启用开机启动、查看状态等)。 ```bash [root@localhost ~]# systemctl status httpd # 查看httpd服务状态 [root@localhost ~]# systemctl start nginx # 启动nginx服务 [root@localhost ~]# systemctl enable firewalld # 设置firewalld开机启动 ``` * `journalctl`: **查看和管理 systemd 日志**。 ```bash [root@localhost ~]# journalctl -u sshd # 查看sshd服务的日志 [root@localhost ~]# journalctl -f # 实时跟踪日志 ``` **C. 用户与权限管理:** * `useradd` / `adduser`: **添加用户** (配置参考引用[3]中的`/etc/login.defs`)。 ```bash [root@localhost ~]# useradd newuser ``` * `passwd`: **设置或修改用户密码**。 ```bash [root@localhost ~]# passwd newuser ``` * `usermod`: **修改用户属性** (如家目录、登录shell、主组、附加组等)。 ```bash [root@localhost ~]# usermod -s /bin/bash newuser ``` * `userdel`: **删除用户**。 * `userdel username`: 删除用户,保留家目录。 * `userdel -r username`: 删除用户并删除其家目录和邮件池 (行为受`USERDEL_CMD`和`USERGROUPS_ENAB`影响,见引用[3])。 ```bash [root@localhost ~]# userdel -r olduser ``` * `groupadd`: **添加用户组**。 ```bash [root@localhost ~]# groupadd newgroup ``` * `chmod`: **修改文件或目录的权限**。 * 符号模式: `chmod u=rwx,g=rx,o=r file` (用户=读写执行, 组=读执行, 其他=读) * 数字模式: `chmod 755 file` (rwxr-xr-x) ```bash [root@localhost ~]# chmod 644 important.conf ``` * `chown`: **修改文件或目录的所有者和/或所属组**。 ```bash [root@localhost ~]# chown newuser:newgroup file.txt [root@localhost ~]# chown :www-data /var/www/html/ # 只修改组 ``` * `su`: **切换用户**。 * `su - username`: 切换到指定用户,并加载其环境变量。 ```bash [root@localhost ~]# su - normaluser [normaluser@localhost ~]$ ``` * `sudo`: **以超级用户或其他用户身份执行命令**。 ```bash [normaluser@localhost ~]$ sudo yum update ``` **D. 网络管理:** * `ip` / `ifconfig` (较旧): **配置和查看网络接口信息**。 * `ip addr show`: 显示所有网络接口及其IP地址。 * `ip route show`: 显示路由表。 * `ping`: **测试网络连通性**。 ```bash [root@localhost ~]# ping -c 4 www.google.com ``` * `ss` / `netstat` (较旧): **查看网络连接、路由表、接口统计信息**。 ```bash [root@localhost ~]# ss -tuln # 查看监听中的TCP/UDP端口 ``` * `traceroute` / `tracepath`: **跟踪数据包到达目标主机的路径**。 * `curl` / `wget`: **从网络下载文件或测试Web服务**。 ```bash [root@localhost ~]# curl -I http://localhost # 获取HTTP响应头 [root@localhost ~]# wget http://example.com/file.iso ``` * `firewall-cmd`: **管理 firewalld 防火墙** (CentOS/RHEL/Fedora)。 ```bash [root@localhost ~]# firewall-cmd --list-all # 查看所有规则 [root@localhost ~]# firewall-cmd --add-service=http --permanent # 永久允许HTTP [root@localhost ~]# firewall-cmd --reload # 重载配置 ``` **E. 包管理 (根据发行版不同):** * **RHEL/CentOS/Fedora (dnf/yum):** * `dnf install package` / `yum install package`: 安装软件包。 * `dnf update package` / `yum update package`: 更新软件包。 * `dnf remove package` / `yum remove package`: 删除软件包。 * `dnf search keyword` / `yum search keyword`: 搜索软件包。 * `dnf info package` / `yum info package`: 查看软件包信息。 * **Debian/Ubuntu (apt):** * `apt update`: 更新可用软件包列表。 * `apt install package`: 安装软件包。 * `apt upgrade`: 升级所有可升级的软件包。 * `apt remove package`: 删除软件包 (保留配置文件)。 * `apt purge package`: 删除软件包及其配置文件。 * `apt search keyword`: 搜索软件包。 * `apt show package`: 查看软件包详细信息。 **F. 文本处理:** * `echo`: **输出文本**。 ```bash [root@localhost ~]# echo "Hello World" [root@localhost ~]# echo $PATH # 输出环境变量PATH的值 ``` * `vi` / `vim` / `nano`: **文本编辑器**。 * `sed`: **流编辑器,用于对文本进行过滤和转换**。 * `awk`: **强大的文本分析处理工具**。 * `sort`: **对文本行排序**。 * `wc`: **统计文件的行数、单词数、字节数**。 ```bash [root@localhost ~]# wc -l /etc/passwd # 统计passwd文件行数(用户数) ``` **G. 压缩与归档:** * `tar`: **打包和解包文件**。 * `tar -cvf archive.tar files/`: 创建归档文件。 * `tar -xvf archive.tar`: 解压归档文件。 * `tar -czvf archive.tar.gz files/`: 创建gzip压缩的归档文件。 * `tar -xzvf archive.tar.gz`: 解压gzip压缩的归档文件。 * `gzip` / `gunzip`: **压缩/解压单个文件** (`.gz`)。 * `zip` / `unzip`: **创建和解压 ZIP 归档文件**。 **H. 其他实用技巧:** * `history`: **查看命令历史记录**。 * `!number`: **执行历史记录中第`number`条命令**。 * `!!`: **执行上一条命令**。 * `clear`: **清屏** (或 `Ctrl+L`)。 * `Tab` 键: **命令/文件名/路径自动补全**。 * `Ctrl+C`: **终止当前正在运行的命令**。 * `Ctrl+D`: **发送EOF (End Of File),通常用于退出当前shell或结束输入)**。 * `Ctrl+Z`: **将当前前台命令挂起到后台** (使用`fg`恢复或`bg`后台运行)。 * `man command`: **查看命令的手册页(manual)** (最重要的帮助工具)。 ```bash [root@localhost ~]# man ls ``` * `command --help` 或 `command -h`: **查看命令的简要帮助信息**。 **重要提示:** * **谨慎使用 `root` 账户:** 提示符中的 `#` 表示你拥有最高权限。错误的命令(如 `rm -rf /`)可能造成灾难性后果。日常操作建议使用普通用户,仅在需要时使用 `sudo`。 * **理解命令参数:** 大多数命令都有丰富的选项(`-a`, `-l`, `-r` 等),使用 `man` 或 `--help` 查看其具体功能。 * **路径很重要:** 命令操作的对象(文件、目录)依赖于当前工作目录(`pwd`)或指定的绝对/相对路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值