Ubuntu系统Docker-CE安装以及常用docker命令 (Docker Cheat Sheet)

一剪闲云一溪月,一程山水一年华。
一世浮生一刹那,一树菩提一烟霞。

——《岁月静好 现世安稳》白落梅

在UbuntuLTS版本中安装Docker-CE(社区版)教程

「题外话」以下命令中安装包管理工具我都用的aptitude,没安装的注意先安装一下。简单说一下,apt/apt-get/aptitude之间的比较和区别:个人感觉aptitude > apt > apt-get,一部分原因是随着版本更迭走,另一部分aptitude的安装依赖表示的稍好看那么一些哈哈。另外,我实际上使用apt-fast调用aptitude的,多线程倍儿香~

Ubuntu 20.04 安装 Docker-CE

  1. 更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库

    1
    sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  2. 添加Docker的官方GPG密钥

    1
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  3. 使用以下命令来设置稳定的存储库

    1
    2
    3
    4
    sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
  4. 更新apt程序包索引,并安装最新版本的Docker Engine和容器

    1
    sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
  5. 启动 docker

    1
    sudo systemctl enable docker && sudo systemctl start docker
  6. Docker免sudo运行

    我们可以将当前用户添加到 docker 用户组,即可不用 sudo 运行 docker。此时docker在root权限下运行,运行产生残余文件为root所有,需要提权删除。

    1
    sudo usermod -aG docker $USER

    注销当前登录后重新登录,即可测试免sudo运行docker。

    1
    docker run hello-world

Ubuntu 18.04 安装 Docker-CE

  1. 更换国内软件源,推荐中国科技大学的源,稳定速度快(可选)

    1
    2
    3
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    sudo aptitude update
  2. 安装需要的包

    1
    sudo aptitude install apt-transport-https ca-certificates software-properties-common curl
  3. 添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例

    1
    2
    3
    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
    $(lsb_release -cs) stable"
  4. 添加成功后更新软件包缓存

    1
    sudo aptitude update
  5. 安装 Docker-ce

    1
    sudo aptitude install docker-ce
  6. 设置开机自启动并启动 Docker-ce(安装成功后默认已设置并启动,可忽略)

    1
    2
    sudo systemctl enable docker
    sudo systemctl start docker
  7. 测试运行

    1
    sudo docker run hello-world

Ubuntu 16.04 安装 Docker

  1. 选择国内的云服务商,这里选择阿里云为例

    1
    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
  2. 安装所需要的包

    1
    sudo aptitude install linux-image-extra-$(uname -r) linux-image-extra-virtual
  3. 添加使用 HTTPS 传输的软件包以及 CA 证书

    1
    2
    sudo aptitude update
    sudo aptitude install apt-transport-https ca-certificates
  4. 添加GPG密钥

    1
    sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
  5. 添加软件源

    1
    echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
  6. 添加成功后更新软件包缓存

    1
    sudo aptitude update
  7. 安装docker

    1
    sudo aptitude install docker-engine
  8. 启动 docker

    1
    2
    sudo systemctl enable docker
    sudo systemctl start docker

Docker免sudo运行

我们可以将当前用户添加到 docker 用户组,即可不用 sudo 运行 docker。此时docker在root权限下运行,运行产生残余文件为root所有,需要提权删除。

1
2
sudo groupadd docker
sudo usermod -aG docker $USER

注销当前登录后重新登录,即可测试免sudo运行docker。

1
docker run hello-world

常用Docker命令 (docker cheat sheet)

常用docker命令 COMMAND
启动docker system start docker
查看docker启动状态 systemctl status docker
查看镜像 docker images
查看所有容器包括停止运行的 docker ps -a docker ps -aq
启动所有容器 docker start $(docker ps -a -q)
停止容器 docker stop gitlab-redis
停止所有的容器 docker stop $(docker ps -aq)
删除所有已经停止的容器 docker rm $(docker ps -a -q)
删除镜像 需要先停止关联的容器
删除该容器 docker rm 容器ID(CONTAINER ID)
删除镜像 docker rmi 镜像ID(IMAGE ID)
批量删除名字包含”none”关键字的镜像 docker rmi $(docker images