• Deepin v20 正式版安装 Docker


    原文链接:https://blog.csdn.net/m0_47404181/article/details/108735192

    一、简介

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    二、关于 Deepin 中的 Docker

    Deepin 官方的应用仓库已经集成了 docker,但不是类似于 docker-ce 这样的最新版本。由于 Deepin 是基于 debian 的 unstable 版本开发的,通过 $(lsb_release -cs) 获取到的版本信息为 unstable,而 docker 官方源并没支持 debian 的 unstable 版本,因此使用 docker 官方教程是安装不成功的。如果你需要安装 docker-ce,请遵循下面的步骤进行安装:

    三、在Deepin中安装Docker

    1. 如果以前安装过老版本,要确保先卸载以前版本
    sudo apt-get remove docker.io docker-engine
    
    1. 安装密钥管理与下载相关的工具

      // 密钥管理(add-apt-repository ca-certificates 等)与下载(curl 等)相关的工具
      sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common
      

      此处可能会提示 python-software-properties 未安装成功或其他的问题,最后导致 add-apt-repository 命令无法使用

      解决办法:

      sudo apt-get install python-software-properties
      sudo apt-get update
      sudo apt install software-properties-common
      sudo apt-get update
      
    2. 下载并安装密钥

      鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

      国内源可选用清华大学开源软件镜像站或中科大开源镜像站,示例选用了中科大的。

      为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

      // 中科大源
      curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
      
      // 官方源,能否成功可能需要看运气。
      // curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
      
    3. 查看密钥是否安装成功

      sudo apt-key fingerprint 0EBFCD88
      

      如果安装成功,会出现如下内容:

      pub 4096R/0EBFCD88 2017-02-22    Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
      
      uid Docker Release (CE deb) <docker@docker.com>
      
      sub 4096R/F273FCD8 2017-02-22
      
    4. 在 source.list 中添加 docker-ce 软件源(请先查看后面的 Note):

      sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable" 
      #!!!!报错,则手动添加到 /etc/apt/sources.list中
      #// 官方源
      #// sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian buster stable"
      
      #// 15.10 会提示 aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Deepin/stable
      
      #// 这里我们通过编辑 sudo vim /etc/apt/sources.list 添加一行即可,原因未知
      #//deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable
      

      Note: 官方在 buster 位置使用的是 $(lsb_release -cs),但之前已经解释过,在 deepin 里运行它得到的是 unstable,docker 官方不支持 unstable 版本!因此直接使用官方教程的命令会安装失败。

      更改方法:将上述命令中的版本名称 buster,替换成 deepin 基于的 debian 版本对应的代号。查看版本号的命令为:

      cat /etc/debian_version.
      

      举例:

      a). 对于 deepin v20,我操作上面的命令得到 debain 版本是 10.5,debian 10.5 的代号是 buster

      b). 对于 deepin 15.9.2 基于 debian 9.0 , debian 9.0 的代号为 stretch,

      所以 deepin v20 上完整的添加信息为:

      sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable"
      

      不行则手动添加到/etc/apt/sources.list

      具体代码可以去查一下:debain 版本

    5. 更新仓库

      sudo apt-get update
      
    6. 安装 docker-ce

      由于网络不稳定,可能会下载失败。如果下载失败了,可以多试几次或者找个合适的时间继续。

      sudo apt-get install docker-ce
      
    7. 命令行查看 docker 版本

      docker --version
      
    8. 让普通用户也可运行 docker

      上面第 8 步查看 docker 版本的时候如图末尾显示权限不足,是因为 docker 只允许 root 用户执行,为让普通用户也可运行 docker,执行

      sudo usermod -aG docker username
      

      将当前用户加入 docker 用户组,然后注销用户重新登录即可。

    9. 启动 docker:

    systemctl start docker
    
    1. 验证 docker 是否被正确安装并且能够正常使用
    sudo docker run hello-world
    

    如果能够正常下载,并能够正常执行,则说明 docker 正常安装。

    四、更换国内的 docker 加速器

    如果使用 docker 官方仓库,速度会很慢,所以更换国内加速器就不可避免了。

    1. 使用阿里云的 docker 加速器。

    在阿里云申请一个账号:
    打开连接 https://cr.console.aliyun.com/#/accelerator 拷贝您的专属加速器地址。

    修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器(下面是 4 个命令,分别单独执行)

    Note: 这里的 https://734k1y0l.mirror.aliyuncs.com 是申请者的加速器地址,在此仅仅用于演示,而使用者要个根据自己的使用的情况填写自己申请的加速器地址。

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://734k1y0l.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    其实 daemon.json 主要就是配置镜像源,不同账号,该源地址是不同的:

    {
    "registry-mirrors": ["https://734k1y0l.mirror.aliyuncs.com"]
    }
    
    1. 重启 docker 服务

      sudo service docker restart
      

    五、禁止开机自启

    默认情况下 docker 是开机自启的,如果我们想禁用开机自启,可以通过安装 chkconfig 命令来管理 Deepin 自启项:

    1. 安装 chkconfig

      sudo apt-get install chkconfig
      
    2. 移除自启

      sudo chkconfig --del docker
      
  • 相关阅读:
    wex5 实战 框架拓展之2 事件派发与data刷新
    wex5 实战 框架拓展之1 公共data组件(Data)
    wex5 实战 HeidiSQL 导入Excel数据
    wex5 实战 手指触屏插件 hammer的集成与优劣
    wex5 实战 登陆帐号更换与用户id一致性
    wex5 实战 用户点评与提交设计技巧
    wex5 实战 省市县三级联动与地址薄同步
    wex5 实战 wex5与js的组件关系与执行顺序(父子与先后)
    wex5 实战 单页模式下的多页面数据同步
    [BZOJ]4237: 稻草人
  • 原文地址:https://www.cnblogs.com/langkyeSir/p/14032801.html
Copyright © 2020-2023  润新知