【服务器知识】linux环境下安装docker

文章目录

以下是在Linux系统中安装Docker并配置私有仓库的两种方法(命令行安装和安装包安装)的详细步骤:


一、通过命令行安装Docker(推荐)

1. 使用官方脚本自动安装
bash 复制代码
# 下载并运行Docker官方安装脚本
curl -fsSL https://get.docker.com | sudo sh
2. 验证安装
bash 复制代码
sudo docker run hello-world

二、通过安装包手动安装

1. 下载Docker安装包
  • Debian/Ubuntu

    bash 复制代码
    wget https://download.docker.com/linux/ubuntu/dists/$(lsb_release -cs)/pool/stable/amd64/docker-ce_24.0.7-1~ubuntu.22.04~jammy_amd64.deb
  • CentOS/RHEL

    bash 复制代码
    wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-24.0.7-1.el7.x86_64.rpm
2. 安装依赖包
  • Debian/Ubuntu

    bash 复制代码
    sudo apt update && sudo apt install ./docker-ce*.deb
  • CentOS/RHEL

    bash 复制代码
    sudo yum install ./docker-ce*.rpm

三、配置Docker使用私有仓库

1. 修改Docker配置文件

编辑 /etc/docker/daemon.json(若文件不存在则新建):

bash 复制代码
sudo nano /etc/docker/daemon.json

添加以下内容(假设私有仓库地址为 my-registry.com:5000):

json 复制代码
{
  "insecure-registries": ["my-registry.com:5000"]
}
2. 重启Docker服务
bash 复制代码
sudo systemctl restart docker
3. 验证私有仓库配置
bash 复制代码
sudo docker info | grep "Insecure Registries"

四、两种安装方式的对比

步骤 命令行安装 安装包安装
适用场景 网络通畅,需要最新版本 离线环境或需固定版本
依赖管理 自动解决依赖 需手动安装依赖包
更新支持 支持通过包管理器更新 需手动下载新包更新
复杂度 简单快捷 需手动下载和验证安装包

五、附加操作(私有仓库登录)

如果私有仓库需要认证,使用以下命令登录:

bash 复制代码
sudo docker login my-registry.com:5000 -u <用户名> -p <密码>

六、常见问题

  1. 权限不足

    bash 复制代码
    sudo usermod -aG docker $USER  # 将当前用户加入docker组
    newgrp docker                 # 刷新用户组
  2. 私有仓库无法连接

    • 确保防火墙放行相关端口(默认 5000)。
    • 检查 daemon.json 格式是否正确(JSON语法严格)。
  3. TLS证书问题

    • 若私有仓库使用HTTPS但无有效证书,需在 insecure-registries 中添加地址。
    • 若有有效证书,可跳过 insecure-registries 配置。

通过以上步骤,您可以在Linux系统中灵活选择安装Docker的方式,并成功配置私有仓库。

相关推荐
瞬间&永恒~2 分钟前
【Kubernetes】(十五)维护与升级、ETCD 备份和恢复
linux·运维·docker·云原生·kubernetes
susplus11 分钟前
【linux应用软件编程】进程间的通信方式2【网络通信从入门到UDP编程】
linux·udp·ip
MSTcheng.11 分钟前
【Linux】Linux学习第三弹——Linux基本指令2
linux·windows·学习·ubuntu·操作系统
LlmCraft|大模型工程实践13 分钟前
12. Docker 日志管理与监控:ELK 日志收集 + Prometheus 性能监控
elk·docker·prometheus
希望奇迹很安静17 分钟前
Linux基本使用命令
linux·运维·服务器
邪修king23 分钟前
Re:Linux 系统篇(十七):进程篇(六):环境变量深度解析|命令行参数、环境变量表、4 种获取方式与继承机制万字详解
linux·服务器·c++
张小姐的猫1 小时前
【C++开发脚手架】 —— Jsoncpp上手
java·linux·开发语言·网络·c++·tcp/ip·udp
昌原的儿子LEO1 小时前
Linux网络编程:TCP/UDP与HTTP协议核心笔记
linux·网络·tcp/ip
好评1241 小时前
【Linux】应用层协议HTTP
linux·运维·http
M78佐菲9 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法