当前位置: 首页 > news >正文

【Docker】在Ubuntu平台上的安装部署

写在前面

  1. docker作为一种部署项目的辅助工具,真是太好用了
  2. 需要魔法,不然无法正常运行
  3. 笔者环境:ubuntu22.04

具体步骤

  1. 更新系统包索引

    sudo apt update
    
  2. 安装必要依赖包

    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    

    (注:vimnet-tools为可选工具,非必须安装)

  3. 添加Docker官方GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  4. 添加Docker仓库到APT源

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. 更新APT并安装Docker引擎

    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  6. 启动Docker服务并设置开机自启

    sudo systemctl enable --now docker
    

    如果不想开机自启,就手动启动

     sudo systemctl start docker
    

    检查docker运行情况

    sudo systemctl status docker
    

    若输出显示 active (running),则表示服务在本地已正常运行

  7. 检查Docker版本

    docker --version
    

    输出示例:Docker version 24.0.0, build 12345678

  8. 配置docker网络端口
    如果不对docker进行配置,那么docker的数据就不会从有魔法的端口过,而导致被墙,进一步导致docker部署失败,表现如下:

    $ sudo docker run hello-world
    Unable to find image 'hello-world:latest' locally
    docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 130.211.15.150:443: connect: connection refused
    

    具体配置如下:

    1. 创建 Docker daemon 的 systemd 配置目录:
    sudo mkdir -p /etc/systemd/system/docker.service.d
    
    1. 创建代理配置文件:
    sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
    

    添加如下内容(请根据你实际使用的代理端口修改,这通常可以在你的软件配置里找到,比如我这里是7897):

    [Service]
    Environment="HTTP_PROXY=http://127.0.0.1:7897/"
    Environment="HTTPS_PROXY=http://127.0.0.1:7897/"
    Environment="NO_PROXY=localhost,127.0.0.1,::1"
    
    1. 重新加载并重启 Docker:
    sudo systemctl daemon-reexec
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    1. 检查配置是否生效
    sudo systemctl show --property=Environment docker
    

    如果看到你刚设置的 HTTP_PROXYHTTPS_PROXY 环境变量说明已经生效。


  1. 执行测试命令

     sudo docker run hello-world
    

    若输出包含“Hello from Docker!”等欢迎信息,说明配置成功,已经可以进行下一步的开发了。


其他可选配置

  • 若需非root用户运行Docker,可将用户加入docker组:
    sudo usermod -aG docker $USER
    
    之后需重新登录或重启生效。

相关文章:

  • 无线监控系统分类全解析:搭配视频融合平台EasyCVR开启高效监控
  • 23种设计模式-结构型模式之组合模式(Java版本)
  • 黑马商城-微服务笔记
  • 云原生时代的双轮驱动
  • Unity 将Excel表格中的数据导入到Mysql数据表中
  • 4.23刷题记录(栈与队列专题)
  • 将输入帧上下文打包到下一个帧的预测模型中用于视频生成
  • RocketMQ 核心架构速览
  • Elasticsearch复习笔记
  • 数据集 | 苹果目标检测数据集
  • 车载功能测试-车载域控/BCM控制器测试用例开发流程【用例导出方法+优先级划分原则】
  • 如何避免AI编造虚假文献
  • CSS-跟随图片变化的背景色
  • 从GPT-5到Claude 3:大模型竞赛的下一站是什么?
  • 【ROS2】机器人操作系统安装到Ubuntu简介
  • 基于STM32、HAL库的MCP42010T数字电位器驱动程序设计
  • WebGL简介
  • rust编程学习(三):8大容器类型
  • Transformer 零基础实践教程 - 0 - 前言与环境配置
  • Rust 学习笔记:Rust 简介
  • 世卫发布预防少女怀孕新指南,呼吁终止童婚、延长女孩受教育时间
  • 明日出征!航天员详细信息来啦
  • 深一度|王励勤二次创业从未停步,带领中国乒乓直面挑战
  • 举报人不服相关部门奖励“缺斤少两”,两地分别作出再认定
  • 5旬辅警30余年前被人顶替上中专?河南沁阳:基本属实,将依法处理
  • 教皇方济各逝世,外交部:表示哀悼,愿同梵方共同推动中梵关系持续改善