• Ubuntu安装Docker


    Docker架构

    docker的架构设计分为三个组件:一个客户端,一个REST API和一个服务器(守护进程):

    • Client :与REST API交互。主要目的是允许用户连接守护进程。
    • REST API:充当客户端和服务器之间的接口,实现通信。
    • 守护进程:负责实际管理容器 - 启动,停止等。守护进程监听来自docker客户端的API请求。

    环境

    WSL Ubuntu 20.4
    查看系统版本

    lsb_release -a
    cat /proc/version
    

    image

    官网

    Docker官网
    Ubuntu安装Docker文档

    使用仓库安装

    卸载旧版Docker,docker, docker.io, docker-engine都是旧版Docker名字。

    sudo apt-get remove docker docker-engine docker.io containerd runc
    

    设置仓库

    更新apt-get,安装包使得apt可以使用https。

     sudo apt-get update
     sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    

    image
    添加Docker官方的GPG密钥

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    

    image
    设置stable仓库

    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
    

    安装Docker引擎

    更新apt包索引,安装最新版本的Docker Engine和containerd

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    

    image

    如果想要安装特定版本Docker Engine,需要在 repo 中列出可用版本,然后选择并再次安装

    #列出所有版本
    apt-cache madison docker-ce
    #安装特定版本,例如: 5:20.10.12~3-0~ubuntu-focal
    sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
    

    image

    测试Docker

    启动Docker服务

    #启动Docker服务
    sudo service docker start
    

    image

    下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。

    sudo docker run hello-world
    

    image

    卸载Docker

    #卸载Docker Engine、CLI和Containerd包
    sudo apt-get purge docker-ce docker-ce-cli containerd.io
    #主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷
    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd
    

    从包安装

    去https://download.docker.com/linux/ubuntu/dists/ 选择你的Ubuntu版本,然后浏览pool/stable/,选择amd64, armhf,arm64,或s390x,并下载.deb文件要安装引擎版本。
    image

    安装 Docker Engine

    sudo dpkg -i /path/to/package.deb
    

    Docker 守护进程自动启动。

    报错

    docker: Error response from daemon: OCI runtime create failed: container_linux.go:380

    docker run hello-world时报错。
    image
    原因是docker的版本和linux的内核版本不兼容,查了下是WSL 1是不支持Docker的守护进程的。可以使用Docker CLI连接到通过Docker for Windows或任何其他VM 运行的远程Docker守护进程。WSL 2可以完美支持Docker守护进程。

    如果这篇文章对你有用,麻烦关注一下本人微信公众号~
    微信公众号二维码
  • 相关阅读:
    扩展json序列化datatime类型数据
    用select实现socket的IO多路复用
    Python单例模式
    Django(信号相关)
    将字符串按固定长度分隔成子串
    Android Handler介绍
    Android activity生命周期
    Java 启动线程的方式
    java线程中的sleep和wait区别
    JAVA 统计字符串中中文,英文,数字,空格的个数
  • 原文地址:https://www.cnblogs.com/aeolian/p/15702497.html
Copyright © 2020-2023  润新知