【服务器知识】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的方式,并成功配置私有仓库。

相关推荐
mCell9 分钟前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记11 分钟前
GPU运维常见问题处理
linux·运维·gpu
caolib34 分钟前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏1 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔1 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula1 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-2 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw2 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l3 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
勇哥的编程江湖3 小时前
starrocks官网docker部署mysql无法连接
运维·docker·容器