Linux安装Docker(Debian11)
2026/9/9 12:22:06 网站建设 项目流程

包括在线安装,镜像加速器添加,卸载,常用命令等
离线安装见13节

  1. 安装依赖

    • sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
  2. 安装GPG证书

    curl-fsSL https://download.docker.com/linux/debian/gpg|sudo gpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg
    Ubuntu:curl-fsSL https://download.docker.com/linux/ubuntu/gpg|sudo apt-key add-
  3. 写入软件源信息

    echo"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian$(lsb_release-cs)stable"|sudotee/etc/apt/sources.list.d/docker.list >/dev/null
    Ubuntu:sudoadd-apt-repository"deb [arch=amd64] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable"
  4. 安装

    sudo chmod a+r/usr/share/keyrings/docker-archive-keyring.gpg sudo apt-get update sudo apt-cache madison docker-ce# 查询存储库中可用的版本,可以安装时指定sudo apt-get install docker-ce# Docker守护进程(=5:23.0.5-1~debian.11~bullseye)sudo apt-get install docker-ce-cli# CLI工具用来远程控制Docker守护进程‎
  5. 启动

    1.启动:sudo systemctlstartdocker 2.检查 Docker 是否正在运行:sudo systemctl status docker 3.开机启动:sudo systemctl enable docker && sudo systemctl restart docker && sudo systemctl status docker 4.查看安装版本:docker--version 5.查看基本信息:docker info
  6. 使用镜像加速(阿里云为例)

    • 阿里云容器镜像服务文档
    • 登录阿里云控制台——产品与服务——容器服务——容器镜像服务——镜像工具——镜像加速器 (点击快速地址访问)
    • 配置
      sudo mkdir-p/etc/docker sudotee/etc/docker/daemon.json <<-'EOF'{"registry-mirrors":["https://xxx.mirror.aliyuncs.com"]#这个地址是自己阿里云帐号工作台分配的}EOF sudo systemctl daemon-reload sudo systemctl restart docker
  7. 测试 docker

    • docker run hello-world
    • docker image ls #查看镜像
  8. 非root执行docker命令不加sudo

    可以添加docker组,并将非root账户加入到该组中。下面的命令创建docker组并将当前用户加入docker组,执行完成之后重新登陆生效

    sudo groupadd docker sudo usermod-aG docker$USER
  9. 卸载Docker

    • 卸载软件和依赖
      sudo apt-get purge docker-ce docker-ce-clicontainerd.io docker-compose-plugin
    • 卸载资源
      sudorm-rf/var/lib/docker sudorm-rf/var/lib/containerd
  10. Docker空间清理(清理后在使用docker构建时所有的依赖会重新下载,慎用!)

    • 查看:docker system df #可以加-v参数,更详细
    • 清理:docker system prune -a
    • 如果发现df 和 du不一致
      通过 lsof|grep deleted 命令查看那些引用着被删除文件的进程 将这些进程kill掉,再看 df 和 du 就一致了
  11. docker常用命令

    • 查看镜像:docker image ls
    • 删除镜像:docker image rm [IMAGE ID] #或者[REPOSITORY:TAG]
    • 导入镜像操作: docker load < xxx.tar
    • 进入镜像:docker run -it [IMAGE ID] #exit退出
    • docker run 运行容器
      docker run-d--rm--name hello_world-v$PWD:/test 1.-d: 后台运行容器,并返回容器ID; 2.--rm:退出容器以后,这个容器就被删除了,方便在临时测试使用 3.--name hello_world: 为容器指定一个名称,不指定名称,docker会默认创建一个名称; 4.-v$PWD:test : 将容器中的目录/test 挂载到 宿主机 当前 目录下
    • 查看运行的容器:docker ps -a
    • 结束运行的容器:docker stop [CONTAINER ID]
    • 删除容器:docker rm [CONTAINER ID]
    • 查看容器内容[未运行]:docker run --rm -it <镜像名或镜像ID> ls /usr/local/bin #镜像名=ubuntu:22.04
    • 查看容器内容[已运行]:docker exec -it <容器ID或名称> ls /usr/local/bin
  12. 离线安装docker

    • 下载:wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz
    • 解压:tar -zxvf docker-24.0.6.tgz
    • 将解压docker文件放入/usr/bin中:sudo cp docker/* /usr/bin/
    • 将docker注册成系统服务:
      vim/etc/systemd/system/docker.service 添加以下内容[Unit]Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target[Service]Type=notify ExecStart=/usr/bin/dockerd ExecReload=/bin/kill-s HUP$MAINPIDLimitNOFILE=infinity LimitNPROC=infinity TimeoutStartSec=0 Delegate=yes KillMode=processRestart=on-failure StartLimitBurst=3 StartLimitInterval=60s[Install]WantedBy=multi-user.target
    • 给文件增加可执行权限:
      chmod+x /etc/systemd/system/docker.service systemctl daemon-reload
    • 设置开机自启动:systemctl enable docker.service
    • 启动docker:systemctl start docker
    • 停止docker:sudo systemctl stop docker
    • 离线版本需要安装buildx插件
      1.下载:wget https://github.com/docker/buildx/releases/download/v0.10.4/buildx-v0.10.4.linux-amd64 3.在~/.docker中创建mkdircli-plugins目录 4.将buildx-v0.10.4.linux-amd64放入~/.docker/cli-plugins中,重命名:docker-buildx 5.修改权限:chmod+x docker-buildx
  13. docker编译无法拉取镜像时:FROM debian:bullseye AS builder 失败

    debian11-->bullseye debian12-->bookworm 阿里云地址:https://cr.console.aliyun.com/cn-shanghai/instance/repositories 1.从自己镜像仓库拉取: docker login--username=xxx registry.cn-shanghai.aliyuncs.com docker pull registry.cn-shanghai.aliyuncs.com/hslong/debian:bookworm (这是自己从别处备份上去的) 2.拉成功后,重命名:docker tag registry.cn-shanghai.aliyuncs.com/hslong/debian:bookworm debian:bookworm (因为debian:bookworm是编译时拉取的名字) 3.删除原来标签名:docker rmi registry.cn-shanghai.aliyuncs.com/hslong/debian:bookworm

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询