ubuntu22.04安装docker engine

ops/2025/3/1 6:14:50/

在Ubuntu 22.04上安装Docker Engine可以通过以下步骤完成:

  1. 更新系统包索引

    sudo apt update
    
  2. 安装必要的依赖包
    这些包允许apt通过HTTPS使用仓库。

    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    
  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仓库
    将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包索引

    sudo apt update
    
  6. 安装Docker Engine

    sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  7. 启动并启用Docker服务

    sudo systemctl start docker
    sudo systemctl enable docker
    
  8. 验证Docker安装
    检查Docker版本以确认安装成功。

    docker --version
    
  9. (可选)将当前用户添加到docker
    这样你就可以不用sudo来运行Docker命令了。

    sudo usermod -aG docker $USER
    
  10. 注销并重新登录
    使新的组成员身份生效,你需要注销并重新登录。

  11. 拉取镜像

    sudo docker run hello-world
    

    如果报错:

    docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
    See 'docker run --help'.
    

可以使用以下方法解决:
修改配置文件 /etc/docker/daemon.json,修改后内容如下:

{"runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}},"registry-mirrors": ["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]}

修改后配置文件,重启docker服务,命令如下:

sudo systemctl daemon-reload
sudo systemctl restart docker

12. docker常用操作
Docker提供了丰富的命令行工具来管理和操作容器、镜像、网络等资源。以下是一些常用的Docker操作命令:

拉取镜像

sudo docker pull <image_name>

列出本地镜像

sudo docker images

运行容器

sudo docker run -it <image_name> /bin/bash

其中-it选项用于交互式终端,/bin/bash容器启动后执行的命令。

列出正在运行的容器

sudo docker ps

列出所有容器(包括停止的)

sudo docker ps -a

停止容器

sudo docker stop <container_id>

启动已停止的容器

sudo docker start <container_id>

删除容器

sudo docker rm <container_id>

删除镜像

sudo docker rmi <image_id>

进入正在运行的容器

sudo docker exec -it <container_id> /bin/bash

退出正在运行的容器

exit

查看容器日志

sudo docker logs <container_id>

查看容器的详细信息

sudo docker inspect <container_id>

构建镜像

sudo docker build -t <image_name> .
其中`.`表示当前目录下的Dockerfile。

推送镜像到Docker Hub

sudo docker push <image_name>

查看Docker系统信息

sudo docker info

清理未使用的资源

sudo docker system prune

这些命令涵盖了Docker日常使用中的大部分操作。根据具体需求,你可能还需要使用其他高级命令和选项。建议参考Docker官方文档以获取更多详细信息和示例。

完成以上步骤后,你应该已经在Ubuntu 22.04上成功安装并配置了Docker Engine。你可以开始使用Docker来运行容器和其他相关操作。


http://www.ppmy.cn/ops/162158.html

相关文章

基于反激电路的电池充放电均衡控制

基于反激电路的电池充放电均衡控制是一种高效的能量转移型主动均衡方法&#xff0c;适用于锂离子电池组等串联电池组的管理。以下从原理、拓扑结构、控制策略和设计要点进行详细分析&#xff1a; 一、基本原理 反激电路&#xff08;Flyback Converter&#xff09;是一种隔离型…

【Kubernetes】API server 限流 之 maxinflight.go

这个文件实现了一个基于信号量(Channel)的简单限流器。 基础知识 总共有四种channel 带缓冲的channel nonMutatingChan、mutatingChan 都是带缓冲的channel &#xff0c;这类channel 的特点是&#xff1a; 这允许最多 mutatingLimit /nonMutatingLimit 个请求同时获取令牌并执…

GPT-4.5 怎么样?如何升级使用ChatGPTPlus/Pro? GPT-4.5设计目标是成为一款非推理型模型的巅峰之作

GPT-4.5 怎么样&#xff1f;如何升级使用ChatGPTPlus/Pro? GPT-4.5设计目标是成为一款非推理型模型的巅峰之作 今天我们来说说上午发布的GPT-4.5&#xff0c;接下来我们说说GPT4.5到底如何&#xff0c;有哪些功能&#xff1f;有哪些性能提升&#xff1f;怎么快速使用到GPT-4.…

探索 Hutool - JSON:高效的 JSON 处理利器

各位开发者们&#xff0c;咱今天来好好聊聊在 Java 开发里特别实用的一个工具——Hutool - JSON。在现代的软件开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;已经成为了数据交换的标准格式之一&#xff0c;无论是前后端交互&#xff0c;还是与第三…

SpringCloud之Eureka、Ribbon、OpenFeign

目录1. SpringCloud Eureka&#xff08;服务注册与发现组件&#xff09;2. SpringCloud Ribbon&#xff08;负载均衡与服务调用组件&#xff09;3. SpringCloud OpenFeign&#xff08;负载均衡与服务调用组件&#xff09;SpringCloud&#xff1a;用于开发高度可扩展、高性能的分…

浅谈流媒体协议以及视频编解码

流媒体协议介绍 流媒体协议用于传输视频、音频等多媒体数据&#xff0c;确保数据流畅地传输到用户设备。常见的流媒体协议包括 RTMP、HLS、DASH、WebRTC 等&#xff0c;每种协议具有不同的特点和适用场景。 1. RTMP (Real-Time Messaging Protocol) 定义&#xff1a;由 Adob…

Linux中常见命令使用

Linux命令&#xff0c;本质是一个二进制可执行程序&#xff0c;与Windows系统中的.exe文件是一个意思 ls -l -l看到的信息&#xff0c;开始是d&#xff0c;说明是文件夹&#xff0c;开始是-&#xff0c;则是文件w -h让文件大小更人性化的显示 文件操作命令 touch 创建文件…

自走式除草机器人结构设计

摘 要 由于农业生产的快速发展&#xff0c;农业生产技术同时也急需发展&#xff0c;各种仅仅依靠人工的生产早已不能满足需求。对于自走式除草机器人的研究&#xff0c;其中机器人机械臂的运动学分析和机器人机械臂的设计是更加关键的技术。由于机器人的出现&#xff0c;除草方…