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

简介: 【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 等多种编排系统,使得容器化的应用程序管理变得更加简单高效。无论是开发人员还是运维工程师,都能从其便捷的操作体验中受益。

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
4月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1930 4
|
4月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
224 5
|
5月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
500 12
docker 部署 sftp
|
4月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1371 9
|
4月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
3277 8
|
4月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
769 4
|
5月前
|
关系型数据库 MySQL Linux
事项驱动的项目管理工具Dectask的Docker安装教程
Dectask是智能驱动的新一代项目协作工具,本人介绍其Docker安装教程。
154 2
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
1058 0
【云原生】阿里云服务器部署 Docker Swarm集群