得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

Debian10 安装 docker

起初不知 docker 滋味,一尝才知其好滋味,在 python 项目上来说,其实跟 pipenv 也是差不了太多。最初使用 docker 的目的其实是用 flask run 的方式部署 flask 项目,不过在 flask 的官方文档中发现了部署一章节,其实也不用这么麻烦了,不过在多个项目同时隔离运行上感觉还是有点用处的

先看两个安装完后的小 tips 吧:

  1. 安装完暂时只能用 root 或 sudo 启动 docker,非 root 模式还没正式加入,如果还是想要不提权使用

    1
    2
    $ sudo usermod -aG docker $USER  # $USER 是一个保存用户名的环境变量,直接写用户名也是可以的
    $ newgrp docker # 激活用户组的修改,也可以通过注销重来
  2. docker 设置国内镜像源,实不相瞒,从官方软件库下载相关 deb 安装包的时候花了近两个小时,还是设置下吧,在 /etc/docker/daemon.json 中加入下方配置,重启 docker 服务

    1
    2
    3
    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

    其他可选的国内镜像源还有:

安装有关的基本都是抄官网

安装方式有大致有三种:

  1. 设置添加 docker 官方软件库,然后安装,这是官方推荐的方案
  2. 直接下 deb 包,然后手动安装,这时候以后升级也只能手动了
  3. 通过一些自动化脚本,这是树莓派不得不选的方案

但是无论哪种,安装前都得先卸载 debian 自带的版本(一是版本稍微旧一点,二是官方推荐,就冲这点当下的水平也得乖乖听话,猜测的话可能是官方对软件包做了大的改变,在 debian 上的软件包已经不适用了),/var/lib/docker 下的相关文件是保留的

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

安装方式 1 步骤:

  1. 安装下面的包,允许 apt 使用非官方的软件库

    1
    $ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  2. 添加 Docker 的官方 GPG 密钥,通过搜索密钥的最后 8 个字符,验证是否添加成功

    1
    2
    3
    4
    5
    6
    7
    $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    $ 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
  3. 添加 docker 官方软件库

    1
    $ sudo add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"  # 这有个注意点,因为我用的 debian testing 版本,所以 $(lsb_release -cs) 直接用了 buster 版本名称
  4. 最后通过 apt 安装

    1
    $ sudo apt update && apt install docker-ce docker-ce-cli containerd.io

安装方式 2 步骤:

  1. 打开网址
  2. 选择对应的 deb 包下载安装就好

安装方式 3 步骤:

  1. 打开网址 1网址 2
  2. 可以找到安装脚本,不过不是稳定版,可能存在问题

卸载:

1
2
$ sudo apt purge docker-ce docker-ce-cli containerd.io
$ sudo rm -rf /var/lib/docker # 如果需要删除的话

either I will find a way, or I will make one.