【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
    
    之后需重新登录或重启生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值