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、常用命令
    后续补充

相关推荐
程序员老王wd18 分钟前
Jenkins+Docker+Harbor快速部署Spring Boot项目详解
spring boot·docker·jenkins
前进的程序员1 小时前
Linux 移植 Docker 详解
linux·运维·docker
bjwuzh1 小时前
安装完dockers后就无法联网了,执行sudo nmcli con up Company-WiFi,一直在加载中
docker
Auc242 小时前
物流项目第四期(运费模板列表实现)
java·windows·docker·微服务·架构·策略模式
iHero3 小时前
【Jitsi Meet】(腾讯会议的平替)Docker安装Jitsi Meet指南-使用内网IP访问
linux·docker·jitsi meet
意倾城10 小时前
DockerFile实战
docker
黄暄13 小时前
Docker项目部署深度解析:从基础命令到复杂项目部署
运维·笔记·docker·容器·持续部署
杨浦老苏14 小时前
支持同步观看的媒体服务器GhostHub
docker·群晖·多媒体
杨浦老苏15 小时前
全新的开源监控工具CheckCle
运维·docker·群晖
万山y19 小时前
## Docker 中 Elasticsearch 启动失败:日志文件权限问题排查与解决
elasticsearch·docker·jenkins