snap安装Docker Ubuntu

编程教程 > Docker Case (35) 2025-03-11 14:26:48

snap 简介

如果你在使用 Ubuntu 18.04/20.04 LTS 版本的 Ubuntu 系统,会发现系统里面多了一个应用格式包—— .snap 包。 Snap 包是 Ubuntu 16.04 LTS 发布时引入的新应用格式包。目前已流行在 Ubuntu 且在其他如 Debian、Arch Linux、Fedora、Kaili Linux、openSUSE、Red Hat 等 Linux 发行版上通过 snapd 来安装使用 snap 应用。

snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间。
下图就是 snap 下 docker 的文件夹内容。
 

Ubuntu Docker安装,使用 snap 安装 docker ,是 Ubuntu 命令行的建议。笔者体验后,觉得 比Docker官网的安装简单

 

检查snap软件库中docker可用版本

ubuntu@VM-0-5-ubuntu:~$ sudo snap info docker
name:      docker
summary:   Docker container runtime
publisher: Canonical✓
store-url: https://snapcraft.io/docker
license:   Apache-2.0 AND GPL-2.0 AND MIT
description: |
  Build and run container images with Docker.
  
  **Usage**
  
  * This build can only access files in the home directory. So Dockerfiles and all other files used
  in commands like `docker build`, `docker save` and `docker load` need to be in $HOME.
  * You can change the configuration of this build by modifying the files in
  `/var/snap/docker/current/`.
  * Additional certificates used by the Docker daemon to authenticate with registries need to be
  added in `/var/snap/docker/current/etc/docker/certs.d` (instead of `/etc/docker/certs.d`). This
  directory can be accessed by other snaps using the `docker-registry-certificates` content
  interface.
  
  **Running Docker as normal user**
  
  By default, Docker is only accessible with root privileges (`sudo`). If you want to use docker as
  a regular user, you need to add your user to the `docker` group.
  
      sudo addgroup --system docker
      sudo adduser $USER docker
      newgrp docker
      sudo snap disable docker
      sudo snap enable docker
  
  **Warning:** if you add your user to the `docker` group, it will have similar power as the `root`
  user. For details on how this impacts security in your system, see
  https://docs.docker.com/engine/security/#docker-daemon-attack-surface
  
  **Authors**
  
  This snap is built by Canonical based on source code published by Docker, Inc. It is not endorsed
  or published by Docker, Inc.
  
  Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United
  States and/or other countries. Docker, Inc. and other parties may also have trademark rights in
  other terms used herein.
snap-id: sLCsFAO8PKM5Z0fAKNszUOX0YASjQfeZ
channels:
  latest/stable:    27.2.0   2025-01-30 (2976) 146MB -
  latest/candidate: 27.5.1   2025-02-17 (3064) 151MB -
  latest/beta:      27.5.1   2025-01-30 (3064) 151MB -
  latest/edge:      28.0.0   2025-02-27 (3123) 145MB -
  core18/stable:    20.10.17 2023-03-13 (2746) 146MB -
  core18/candidate: ↑                                
  core18/beta:      ↑                                
  core18/edge:      ↑ 

我们可以看到,snap 仓库中的 docker 是由开源公司 Canonical 基于 Docker 发布的源码构建的, channel中 docker 最新版有四个发行渠道,stable 中为27.2.0,其他三个渠道为 27.5.1。

安装 candidate 的docker。

sudo snap install docker --candidate 

或者直接安装稳定版

sudo snap install docker

安装完成后查看docker信息

sudo docker version
sudo docker-compose version

 

snap Docker管理

snap安装的docker管理方式与普通的服务不同,具体参考下方

 

启动 Docker 服务

sudo snap start docker

sudo systemctl start snap.docker.dockerd

停止 Docker 服务

sudo snap stop docker

sudo systemctl stop snap.docker.dockerd

重启 Docker 服务

sudo snap restart docker

sudo systemctl restart snap.docker.dockerd

查看 Docker 服务状态

sudo systemctl status snap.docker.dockerd

● snap.docker.dockerd.service - Service for snap application docker.dockerd
     Loaded: loaded (/etc/systemd/system/snap.docker.dockerd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2025-03-11 14:06:34 CST; 5s ago
   Main PID: 16608 (dockerd)
      Tasks: 16 (limit: 3942)
     Memory: 100.2M
        CPU: 2.049s
     CGroup: /system.slice/snap.docker.dockerd.service
             ├─16608 dockerd --group docker --exec-root=/run/snap.docker --data-root=/var/snap/docker/common/var-lib-docker --pidfile=/run/snap.docker/docker.pid --config-file=/var/snap/docker/3064/config/daemon.json
             └─16663 containerd --config /run/snap.docker/containerd/containerd.toml --log-level error

 

snap Docker 更新

snap安装的docker更新docker

sudo snap refresh docker

完成更新后,您可以再次运行以下命令来验证 Docker 的版本

sudo docker --version

 snap Docker 卸载

snap安装的的docker,卸载docker

sudo systemctl stop snap.docker.dockerd

运行以下命令以卸载 Docker

sudo snap remove docker

如果您还希望删除 Docker 遗留的数据和配置文件,可以运行以下命令

sudo rm -rf ~/docker

 

关联:

snap版安装docker换源daemon.json位置

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
snap 简介如果你在使用 Ubuntu 18.04/20.04 LTS 版本的 Ubuntu 系统,会发现系统里面多了一个应用格式包—— .snap 包。 S
问题用闲置设备装了Ubuntu Server安装过程中可以选择预装docker装完发现是snap版本,无法通过常规方法配置/etc/docker/daemon
Ubuntu 系统安装DockerUbuntu 在线安装 Docker-XQLEE'Blog (在线安装,需外网好)Ubuntu 安装Docker 国内适用-X
安装篇国外:curl -fsSL https://get.docker.com | bash国内:curl -fsSL https://get.docker.com | bash -s dock...
Docker安装部署Redisdocker 安装部署Redis环境Linux系统dockerdocker-compose 相关文章:Ubuntu 在线安装 Docker-xqlee (blog....
不知从何时开始,get.docker.com download.docker.com 在腾讯云已经无法访问了,导致之前分享的在线安装方案间接失效,故此记录国内Ubuntu 安装docker的另一种方法
安装好dockerDocker 安装参考: 配置Docker是用普通用户以ubuntu用户来运行dockersudo chown ubuntu:ubuntu /
docker 常用命令整理(持续更新)docker运行容器资源相关查看所有运行docker的资源消耗情况docker stats查看指定运行容器资源消耗情况do
Docker从容器复制文件到主机sudo docker cp 容器名称/容器id:容器文件/目录 主机目录示例:sudo docker cp nginx:/et
在执行多次docker-compose build 之后,我们通过命令`docker images`可以看到很多的REPOSITORY 为<none&gtl; 且tag 也是<non...
旧域名:https://hub.docker.com 新域名:https://hubgw.docker.com/
前置条件Docker 环境开始安装redis-stack打开docker官方hub的地址 redis/redis-stack Tags | Docker Hub
Docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可
CentOS 7 安装最新Docker-ce# 配置repo源 默认repo源没有docker-ce安装包,需要新的repo源安装依赖库,yum-utils 提供命令"yum-config-ma...
一. Docker-Compose 简介1. Docker-Compose 简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docke...