Ubuntu上安装 Docker及可视化管理工具的详细教程

一、安装Docker

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

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

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

4、更新软件包列表

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

5、安装 Docker

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

安装的组件包括:

  • 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

Ubuntu上安装 Docker及可视化管理工具的详细教程

 7、运行测试容器

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

二、卸载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

Ubuntu上安装 Docker及可视化管理工具的详细教程

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镜像。

3、查看portainer是否启动

docker ps

Ubuntu上安装 Docker及可视化管理工具的详细教程

4、浏览器登录验证

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

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

Ubuntu上安装 Docker及可视化管理工具的详细教程

sudo docker restart portainer

Ubuntu上安装 Docker及可视化管理工具的详细教程

进入portainer页面

Ubuntu上安装 Docker及可视化管理工具的详细教程

五、常见问题处理

1、非 root 用户运行 Docker 命令 

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

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

sudo usermod -aG docker ${USER}

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

Docker容器运行常用参数详解

1、容器运行示例

在Docker中运行一个容器需要使用docker run命令,这个命令后面可以跟很多参数来定制容器的行为。以下是一个运行容器示例以及参数详解。

docker run 
-d 
--name my-container 
-p 8080:80 
-v /host/data:/container/data 
--restart=always 
--env MY_VAR=value 
--network bridge
my-image
  • -d:后台运行容器,并返回容器ID;
  • –name:为容器指定一个名称;
  • -p:指定端口映射,格式为:主机端口:容器端口;
  • -v:挂载一个目录或文件;
  • –restart:设置容器重启策略,如 always、on-failure等;
  • –env:设置环境变量;
  • –network:连接容器到一个网络。 

2、容器运行参数详解

2.1、镜像名

镜像是 Docker 的核心概念之一,用于创建 Docker 容器。镜像可以从镜像仓库中拉取。运行容器时,必须指定镜像名。

# 运行 Nginx 镜像
docker run nginx:1.19

指定特定版本(标签)的nginx镜像,1.19是版本号;如果不指定版本,Docker 会默认拉取 latest 标签的镜像。

注:latest标签,由于它的字面意思是“最新的”,所以很多时候也容易被误解,其实latest就是个普通标签,不要期望它是最新或最稳定的版本,因为它取决于当时 lastest 标签被关联到的版本。镜像的维护者可能会使用不同的标签策略,因此在生产环境中最好明确指定具体的版本号。它只是个名字,也没有其它附加作用,更不会自动更新。

2.2、容器名(–name) 

每个运行的容器都有一个唯一的 ID,但为了方便管理,你可以为容器指定一个易于记忆的名称。这样,在后续操作时,可以直接使用容器名称,而不是容器 ID。 

# 容器命名为 my-nginx
docker run --name my-nginx nginx

2.3、端口映射(–publish)

端口映射可以通过在运行命令中使用 -p 选项(p小写,全称 –publish)来完成,该选项的语法如下: -p <主机端口>:<容器端口>。端口映射用于将容器内部的端口映射到宿主机的端口,使得外部可以访问容器内运行的服务。 

# 将容器的 8080 端口映射到宿主机的 80 端口
docker run -d -p 80:8080 tomcat

2.4、目录映射(–volume) 

端口映射可以通过在运行命令中使用 -v 选项(全称 –volume)来完成,该选项的语法如下: -v <主机目录>:<容器目录>。目录映射用于将宿主机的目录挂载到容器内,保留容器中的数据,以便数据可以在宿主机和容器之间共享。

# 将宿主机的 /data 目录挂载到容器的 /app 目录
docker run -d -v /data:/app tomcat

2.5、重启策略 (–restart)

容器的重启策略是指在容器退出时Docker是否应该自动重启容器。目的是为了确保容器应用的高可用性和稳定性,通过设置重启策略,可以在容器出现故障或异常情况时自动重新启动容器,以避免影响业务运行。

# 设置容器在退出时总是重启
docker run -d --restart always tomcat

重启策略有以下几种:

  • no:不自动重启。
  • on-failure:容器因错误退出(非零退出代码)时重启。可选的重启次数可以通过–restart-max-retries设置。
  • always:无论退出状态如何,总是重启容器。
  • unless-stopped:容器除非被手动停止,否则总是重启。

2.6、运行模式(–detach) 

在Docker中,-d(全称 –detach) 选项用于启动一个分离模式的容器,这意味着容器会在后台运行,不会占用当前的终端会话。 

# 后台运行容器
docker run -d tomcat

Docker 提供了多种网络模式,适应不同的网络需求。 常见的网络模式有:

  • bridge: 默认模式,Docker 创建一个独立的网络桥接器(bridge),容器通过此桥接器与宿主机和其他容器通信。
  • host: 容器直接使用宿主机的网络栈,与宿主机共享网络接口。
  • none: 容器没有网络连接,完全隔离。
  • container:: 容器与指定的其他容器共享网络栈。
# 以桥接网络模式运行容器
docker run -d --network bridge tomcat

2.8、环境变量(–env) 

在 Docker 中,-e(全称 –env)选项用于设置环境变量。环境变量用于向容器传递运行时所需的配置信息。

# 向容器传递一个环境变量 ENV,其值为 production
docker run -d -e "ENV=production" tomcat

2.9、特权模式(–privileged)

在Docker中,–privileged=true选项允许容器以特权模式(超级用户权限)运行,从而获得几乎与主机相同的权限。这意味着容器可以访问和控制主机的所有硬件设备、操作系统内核和其他系统资源。

# 赋予容器特权模式
docker run --privileged -d tomcat

以上就是Ubuntu上安装 Docker及可视化管理工具的详细内容,更多相关资料请阅读主机测评网其它文章!

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/2097.html

(0)
admin的头像admin
上一篇 2025年6月3日 上午12:00
下一篇 2025年6月5日 上午12:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注