Ubuntu上安装 Docker及可视化管理工具

目录

一、安装Docker

二、卸载Docker

三、Docker常用命令

四、安装Portainer可视化工具

五、常见问题处理

1、非 root 用户运行 Docker 命令


参考自此文章:如何在 Ubuntu 24.04 LTS 上安装 Docker

系统:Ubuntu 24.04 LTS

一、安装Docker

在 Ubuntu 24.04 LTS 上,虽然可以通过 Ubuntu 的官方仓库直接安装 Docker,但是这种方法通常无法获取到最新的 Docker 版本,而且安全更新也可能延迟。因此,推荐从 Docker 的仓库进行安装,确保可以用上最新版本和自动更新。

 1、更新软件包并安装必要软件

#更新软件包索引
sudo apt update

#安装添加 Docker 仓库所需的前置软件包
sudo apt install apt-transport-https curl

2、导入 Docker 官方 GPG 密钥

由于国内网络限制,Docker官方网站无法被访问,后面采用阿里云的镜像网站为主要源。
将https://download.docker.com/linux/ubuntu/ 修改为https://mirrors.aliyun.com/docker-ce/linux/ubuntu/ 即可。

#阿里云镜像源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

#官方网站
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3、添加 Docker 仓库 

添加Docker 的阿里云仓库添加到Ubuntu软件源列表

#添加Docker的阿里云仓库到软件源列表
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu/ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

#添加Docker的官方仓库到软件源列表
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4、更新软件包列表

#刷新软件包列表,以便系统识别新添加的 Docker 仓库
sudo apt update

5、安装 Docker

#安装Docker 引擎及其相关组件
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

安装的组件包括:

  • docker-ce:Docker Engine。
  • docker-ce-cli:用于与 Docker 守护进程通信的命令行工具。
  • containerd.io:管理容器生命周期的容器运行时环境。
  • docker-buildx-plugin:增强镜像构建功能的 Docker 扩展工具,特别是在多平台构建方面。
  • docker-compose-plugin:通过单个 YAML 文件管理多容器 Docker 应用的配置管理插件。
  • docker-ce-rootless-extras:用于非 root 用户运行 Docker 容器而提供的一套额外工具集

6、检查 Docker 服务状态

#检查 Docker 的运行状态
sudo systemctl is-active docker

 7、运行测试容器

#运行 hello-world 测试容器,验证 Docker 是否安装成功并正常工作
sudo docker run hello-world

8、替换 DockerHub 镜像源

如果拉取 DockerHub 镜像时遇到困难,可以替换为别的镜像。

8.1、使用文本编辑器打开 Docker 的配置文件,如果没有就新建。

sudo vim /etc/docker/daemon.json

8.2、在配置文件中添加或修改registry-mirrors,指定Docker镜像源的URL

{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.aityp.com"
  ]
}

8.3、保存配置文件并重启 Docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

8.4、验证配置是否生效

sudo docker info

二、卸载Docker

要从 Ubuntu 24.04 LTS 中卸载 Docker,可以按照以下步骤操作:

1、使用以下命令卸载 Docker 及其相关组件:

sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2、执行以下命令来删除 Docker 创建的目录:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

 完成这些步骤后,Docker 将完全从你的 Ubuntu 24.04 系统中移除。

三、Docker常用命令

  • docker run:运行一个新的容器。
  • docker ps:列出当前运行的容器。
  • docker start:启动一个已经停止的容器
  • docker stop:停止一个运行中的容器。
  • docker rm:删除一个容器。
  • docker images:列出本地镜像。
  • docker rmi:删除一个镜像。
  • docker exec -it <容器名称> /bin/bash:进入容器内。
  • docker logs:查看容器的日志。
  • docker inspect:查看容器或镜像的详细信息。

四、安装Portainer可视化工具

1、下载Portainer镜像 

sudo docker pull portainer/portainer-ce

2、运行Portainer容器

sudo docker run -d -p 9000:9000 \
--name portainer --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer-ce
参数 参数说明
-d 在后台运行容器。
-p 9000:9000 将容器的9000端口映射到宿主机的9000端口。
--name portainer 为容器指定一个名称为portainer。
--restart always 如果容器退出,总是自动重启。
-v /var/run/docker.sock:/var/run/docker.sock 将Docker守护进程的Unix套接字挂载到容器中,这允许Portainer直接与Docker守护进程通信。
-v portainer_data:/data 创建一个持久化的数据卷,以保存Portainer的配置数据。
portainer/portainer-ce 指定要运行的Portainer镜像。

容器运行参数详解参考:Docker容器运行常用参数详解-CSDN博客

3、查看portainer是否启动

docker ps

  4、浏览器登录验证

浏览器访问 ip:9000 即可,初次登陆时需要设置一个admin账号的密码,输入8位密码创建用户,同时勾选下方的允许匿名选项。

出现如下问题是因为创建用户超时,重启portainer重新创建即可

sudo docker restart portainer

进入portainer页面

五、常见问题处理

1、非 root 用户运行 Docker 命令 

默认情况下,只有 root 用户或具有 sudo 权限的用户才能够执行 Docker 命令。如果不加sudo前缀直接运行docker命令,系统会报权限错误。

可以运行以下命令将当前登录的用户添加到 docker 组,以便以非 root 用户身份运行 Docker 命令:

sudo usermod -aG docker ${USER}

在这条命令中,${USER}是一个环境变量,表示当前登录的用户名。执行完这条命令后,需要重启 Ubuntu 系统。重启之后,就可以不需要加sudo前缀来执行 docker 命令了。