【Docker管理工具】使用Docker部署portainer-ce管理工具

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【7月更文挑战第22天】使用Docker部署portainer-ce管理工具

@TOC

一、portainer-ce介绍

1.portainer简介

Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。

2.portainer-ce简介

Portainer Community Edition是一个用于容器化应用程序的轻量级服务交付平台,可用于管理 Docker、Swarm、Kubernetes 和 ACI 环境。它被设计为易于部署和使用。该应用程序允许您通过“智能”GUI 和/或广泛的 API 管理所有编排器资源(容器、图像、卷、网络等)。

3.portainer-ce容器镜像说明

1.在dockerhub中,portainer/portainer容器镜像已弃用。
2.从 2022 年 1 月开始,portainer的最新标签将指向 Portainer CE 2.X。请改用 portainer/portainer-ce容器镜像。

二、检查本地docker环境

1.检查系统版本

检查本地操作系统版本

[root@docker ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

2.检查docker版本

检查本地宿主机docker版本

[root@docker ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.22
 API version:       1.41
 Go version:        go1.18.9
 Git commit:        3a2c30b
 Built:             Thu Dec 15 22:30:24 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.22
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.9
  Git commit:       42c8b31
  Built:            Thu Dec 15 22:28:33 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.14
  GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

3.检查docker状态

[root@docker ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-03-17 14:49:34 CST; 1 day 1h ago
     Docs: https://docs.docker.com
 Main PID: 5930 (dockerd)
    Tasks: 26
   Memory: 126.9M
   CGroup: /system.slice/docker.service
           ├─5930 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

三、下载portainer-ce镜像

从dockerhub中拉取ortainer-ce镜像,这里选择版本是latest版本。

[root@docker ~]# docker pull portainer/portainer-ce:latest
latest: Pulling from portainer/portainer-ce
0ea73420e2bb: Pull complete 
c367f59be2e1: Pull complete 
b71b88d796e2: Pull complete 
Digest: sha256:4f126c5114b63e9d1bceb4b368944d14323329a9a0d4e7bb7eb53c9b7435d498
Status: Downloaded newer image for portainer/portainer-ce:latest
docker.io/portainer/portainer-ce:latest

四、部署portainer-ce

1.创建数据卷

创建portainer-ce的数据卷

[root@docker ~]# docker volume create portainer_data
portainer_data

2.创建portainer-ce容器

dockerd的cli命令直接创建portainer-ce容器

docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
-d #容器在后台运行
-p 9000:9000# 宿主机9000端口映射容器中的9000端口
-v /var/run/docker.sock:/var/run/docker.sock # 把宿主机的Docker守护进程(docker daemon)默认监听的Unix域套接字挂载到容器中
-v /root/portainer:/data # 把宿主机目录 /root/portainer 挂载到容器 /data 目录;
–name dev-portainer # 指定运行容器的名称;

image.png

3.检查portainer-ce容器状态

检查portainer-ce容器状态

[root@docker ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED          STATUS          PORTS                                                                                            NAMES
e6657c4efe03   portainer/portainer-ce:latest   "/portainer"   39 seconds ago   Up 36 seconds   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 9443/tcp   portainer

4.检查portainer-ce容器日志

检查portainer-ce容器运行日志

[root@docker ~]# docker logs portainer 
level=info msg="2023/03/18 09:01:10 [INFO] [internal,ssl] [message: no cert files found, generating self signed ssl certificates]"
2023/03/18 09:01:11 server: Reverse tunnelling enabled
2023/03/18 09:01:11 server: Fingerprint 4c:02:bf:f1:ef:7b:4c:e5:a2:25:ce:fc:eb:5a:f8:5e
2023/03/18 09:01:11 server: Listening on 0.0.0.0:8000...
level=info msg="2023/03/18 09:01:11 [INFO] [cmd,main] Starting Portainer version 2.11.0"
level=info msg="2023/03/18 09:01:11 [DEBUG] [chisel, monitoring] [check_interval_seconds: 10.000000] [message: starting tunnel management process]"
level=info msg="2023/03/18 09:01:11 [DEBUG] [internal,init] [message: start initialization monitor ]"
level=info msg="2023/03/18 09:01:11 [INFO] [http,server] [message: starting HTTPS server on port :9443]"
level=info msg="2023/03/18 09:01:11 [INFO] [http,server] [message: starting HTTP server on port :9000]"

五、portainer-ce的初始配置

1.设置管理账号

访问http://192.168.3.157:9000/#!/init/admin
进入管理创建界面

image.png

2.访问portainer-ce首页

设置玩管理员账号后,进入portainer-ce首页。

image.png

六、portainer-ce的容器管理

1.检查宿主机内所有容器

检查宿主机内所有容器,会显示所有容器列表。

image.png

2.查看某个容器内资源情况

选择某个容器,选择资源图形化展示。

image.png

image.png

3.查看宿主机本地镜像

查看本地宿主机内所有容器镜像。

image.png

4.查看容器网络

查看docker容器网络情况

image.png

5.查看数据卷列表

查看容器内所有数据卷

image.png

6.查看宿主机系统信息

查看宿主机内系统信息

image.png

七、总结

Portainer Community Edition (CE) 是一款功能强大且易于使用的容器管理工具,它提供了一个直观的图形用户界面,让用户能够轻松管理 Docker 容器、镜像、卷、网络等资源。Portainer CE 不仅支持 Docker 单机环境,还兼容 Docker Swarm、Kubernetes 和 ACI 等多种编排系统,使得容器化的应用程序管理变得更加简单高效。无论是开发人员还是运维工程师,都能从其便捷的操作体验中受益。

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 23
|
25天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
49 22
|
1月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
225 93
|
6天前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
41 23