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

【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
    
    之后需重新登录或重启生效。
http://www.xdnf.cn/news/1342.html

相关文章:

  • AIGC的爆发:哪些行业将被彻底颠覆?
  • Arduino示例代码讲解: Project 12 - Knock Lock 锁
  • # 06_Elastic Stack 从入门到实践(六)
  • 【MySQL】(7) 数据库设计
  • 【集合】底层原理实现及各集合之间的区别
  • 数据库操作
  • 遥感生物多样性产品
  • 【LLM】Ollama:容器化并加载本地 GGUF 模型
  • Agent系统工程实践:Langchain-Chatchat框架定制与优化
  • 计算机视觉算法实现——垃圾分类系统
  • 理解RAG第六部分:有效的检索优化
  • C++异步操作 - future async package_task promise
  • Java学习手册:RESTful API 设计原则
  • AI日报 - 2025年4月23日
  • css3新特性第六章(2D变换)
  • 使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧为JPG图片
  • 创建表结构
  • 树莓派超全系列教程文档--(39)树莓派config.txt旧版选项
  • 线程同步——线程安全
  • jQuery — 总结
  • 逻辑思维与软件开发:从选定方向到风险管理的全流程
  • BeeWorks:低成本的国产化企业内网即时通讯
  • 使用Multipart Form-Data一次请求获取多张图片
  • Linux网络IP协议
  • 【ROS2】ROS2 插件开发流程(基于 pluginlib)
  • 2023蓝帽杯初赛内存取证-4
  • 数据结构-树
  • 美乐迪电玩客户端打包与资源替换实战教程
  • Shader属性讲解+Cg语言讲解
  • pda数据采集器,是如何采集数据的?