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

相关推荐
七歌杜金房12 小时前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia2 天前
linux curl命令详解_curl详解
linux
扛枪的书生2 天前
Linux 网络管理器用法速查
linux
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
lichenyang4532 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4532 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4532 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4532 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫2 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux