ubuntu使用Docker笔记

一、参考资料

以下是本人的折腾实践。

二、Docker的安装

  • 2.1、使用清华源安装docker,清华源官方教程

    本人是在ubuntu20.04下安装的。

    • 1、如果你过去安装过 docker,先删掉:
    bash 复制代码
    for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
    • 2、安装依赖:
    bash 复制代码
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    • 3、信任 Docker 的 GPG 公钥并添加仓库:
    bash 复制代码
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    • 4、开始安装
    bash 复制代码
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 2.2、手动安装Docker(适用于无法联网的电脑)

    • 1、打开清华大学docker-ce开源镜像
    • 2、选择操作系统。根据自己的系统选择,我这里选linux。
    • 3、选择ubuntu版本,进入dists/focal/pool/stable/amd64/目录。
    • 4、下载deb文件: Docker Engine, CLI, containerd, Docker Compose:
      • containerd.io_{version}_{arch}.deb
      • docker-ce_{version}_{arch}.deb
      • docker-ce-cli_{version}_{arch}.deb
      • docker-buildx-plugin_{version}_{arch}.deb
      • docker-compose-plugin_{version}_{arch}.deb
    • 5、安装deb
    bash 复制代码
    sudo dpkg -i ./containerd.io_{version}_{arch}.deb \
    ./docker-ce_{version}_{arch}.deb \
    ./docker-ce-cli_{version}_{arch}.deb \
    ./docker-buildx-plugin_{version}_{arch}.deb \
    ./docker-compose-plugin_{version}_{arch}.deb
  • 2.3、如果你不想每次使用docker时都输入sudo,你可以将你的用户添加到docker组:

    bash 复制代码
    sudo usermod -aG docker $USER

    然后,你需要注销并重新登录,或者重新启动系统,以便更改生效。之后,你就可以直接使用Docker命令,不需要再加sudo。

  • 2.4、使用国内源来加速 Docker Hub 的拉取操作。

    如果执行docker pull时,无法拉取到镜像,可以通过修改Docker Hub的源为国内源来进行加速。

    • 1、新增或编辑 Docker 的服务文件:
    bash 复制代码
    sudo vim /etc/docker/daemon.json
    • 2、在该文件中添加以下内容:
    json 复制代码
    {
    	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }
    • 3、重启 Docker 服务以应用更改:
    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    • 4、附上国内Docker Hub 镜像加速器列表:
    镜像加速器 镜像加速器地址 是否专属加速器 是否其它加速
    Docker 中国官方镜像 https://registry.docker-cn.com Docker Hub
    DaoCloud 镜像站 http://f1361db2.m.daocloud.io 可登录,系统分配 Docker Hub
    Azure 中国镜像 https://dockerhub.azk8s.cn Docker Hub、GCR、Quay
    科大镜像站 https://docker.mirrors.ustc.edu.cn Docker Hub、GCR、Quay
    阿里云 https://<your_code>.mirror.aliyuncs.com 需登录,系统分配 Docker Hub
    七牛云 https://reg-mirror.qiniu.com Docker Hub、GCR、Quay
    网易云 https://hub-mirror.c.163.com Docker Hub
    腾讯云 https://mirror.ccs.tencentyun.com Docker Hub
    • 5、检查加速器是否生效
    bash 复制代码
    docker info

    如果从结果中看到了如下内容,说明配置成功:

    txt 复制代码
    Registry Mirrors:
     [...]
    https://registry.docker-cn.com/
    • 6、Docker Hub 镜像测速
      使用镜像前后,可使用time统计所花费的总时间。测速前先移除本地的镜像,如测试拉取ubuntu20.04的镜像:
    bash 复制代码
    time docker pull ubuntu:20.04	

三、Docker的卸载

  • 3.1、卸载 Docker Engine, CLI, containerd, and Docker Compose packages:

    bash 复制代码
    sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
  • 3.2、删除残留的配置文件

    bash 复制代码
    sudo rm -rf /var/lib/docker
    sudo rm -rf /var/lib/containerd

四、Docker的使用

  • 4.1、简单使用

    bash 复制代码
    # 拉取ubuntu20.04镜像:
    docker pull ubuntu:20.04
    
    # 以ubuntu20.04镜像运行一个容器:
    # 参数说明:
    # -i: 以交互式操作运行; -t: 以终端方式运行; -d: 后台运行;
    # -p 主机端口:容器端口 (建立主机和容器之间的端口映射);
    # --name: name (指定容器的名字);
    docker run -itd -p 15901:5901 --name ubuntu-test ubuntu:20.04 /bin/bash
    
    # 进入后台运行的容器
    docker exec -it  ubuntu-test /bin/bash
  • 4.2、常用命令
    后续补充

相关推荐
后端转全栈_小伵1 分钟前
从 Coding (Jenkinsfile) 到 Docker:全流程自动化部署 Spring Boot 实战指南(简化篇)
java·spring boot·后端·docker·自动化·集成学习
撕得失败的标签15 分钟前
使用 Docker 搭建 Hadoop 集群
hadoop·docker·容器·debian·wsl
梁萌35 分钟前
Docker中的分层(Layer)
运维·docker·容器
~央千澈~1 小时前
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
docker·vim·镜像
Charlie__ZS2 小时前
Docker安装
运维·docker·容器
BuluAI4 小时前
Lazydocker:高效便捷的Docker管理工具
运维·docker·容器
抹除不掉的轻狂丶4 小时前
常用 Docker 命令介绍
docker
longgggggggggggggggg12 小时前
curl -fsSL https://get.docker.com|sh 解释命令
docker
LuiChun12 小时前
docker django uwsgi 报错记录
docker·容器·django
tingting011913 小时前
docker 释放磁盘空间--常用清理命令
运维·docker·容器