snap安装Docker Ubuntu

编程教程 > Docker Case (22) 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
docker 常用命令整理(持续更新)docker运行容器资源相关查看所有运行docker的资源消耗情况docker stats查看指定运行容器资源消耗情况do
Docker从容器复制文件到主机sudo docker cp 容器名称/容器id:容器文件/目录 主机目录示例:sudo docker cp nginx:/et
Docker简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可
在执行多次docker-compose build 之后,我们通过命令`docker images`可以看到很多的REPOSITORY 为<none&gtl; 且tag 也是<non...
旧域名:https://hub.docker.com 新域名:https://hubgw.docker.com/
Docker中容器/镜像的备份、恢复和迁移今天,我们将学习如何快速地对docker容器进行快捷备份、恢复和迁移。Docker是一个开源平台,用于自动化部署应用,
项目依赖说明Docker compose 示例docker-compose.yml 配置示例version: "3.8"networks: demoRouter
官方命令docker system prune -a特别注意:该命令会删除没有被使用的镜像 over
背景Docker 对于新手开发者部署一些中间件或者开发环境比较友好,可惜官方image hub已被F...。内部使用必须依赖三方的镜像库,例如阿里云的https
Docker Nodejs 18.20.4 环境编译vue项目 sudo docker run --rm --name node18c -v /your/pro
Docker报错Error running DeviceCreate (createPool) dm_task_run failed,无法启动问题解决 由于我这
Docker MySQL官方镜像启动默认初始化创建数据库,docker MySQL初始化sql脚本执行,初始化用户sql脚本version: "3.8"netw