Portainer: Docker容器管理利器

Portainer: Docker容器管理利器

简介

Portainer是一款轻量级的Docker容器管理UI,通过web界面即可轻松管理Docker主机和容器。无需编写冗长的Docker命令,只需点击鼠标,即可实现容器的启动、停止、删除等操作。Portainer支持多个Docker主机,可以同时管理多台Docker主机上的容器。

安装

前提条件

  • 安装Docker
  • 安装Docker Compose

使用Docker Compose安装Portainer

  1. 创建docker-compose.yml文件,内容如下:
yaml 复制代码
version: '3'

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    ports:
      - 9000:9000
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

volumes:
  portainer_data:
  1. 启动Portainer容器

在docker-compose.yml文件所在目录下,执行以下命令:

bash 复制代码
docker-compose up -d

等待容器启动完成后,访问http://localhost:9000即可打开Portainer界面。

配置

首次登录Portainer需要设置管理员密码。设置完密码后,选择"Local"环境,即可开始管理本地Docker主机。

如果需要管理远程Docker主机,可以通过添加Endpoint的方式进行配置。点击"Endpoints",选择"Add endpoint",填写远程主机的地址、端口号等信息即可。

管理镜像

在Portainer界面中,点击"Images"即可查看本地镜像列表。可以对镜像进行删除、标记、推送等操作。

如果要从Docker Hub中拉取镜像,点击"Registries",选择"DockerHub",输入要拉取的镜像名称和标签,即可将镜像拉取到本地。

管理容器

在Portainer界面中,点击"Containers"即可查看本地容器列表。可以对容器进行启动、停止、删除、重启等操作。

如果要创建新的容器,点击"Add container",填写容器名称、镜像、端口映射、挂载卷等信息,即可创建新的容器。

避免端口冲突

在创建容器时,需要指定容器的端口映射。如果多个容器映射到同一个宿主机端口,就会出现端口冲突,导致容器无法启动。

为了避免端口冲突,可以采取以下措施:

  1. 为每个容器分配独立的宿主机端口。例如,容器A映射到宿主机的8080端口,容器B映射到宿主机的8081端口。

  2. 使用Docker网络,为每个容器分配独立的IP地址和端口。例如,创建一个名为mynetwork的网络:

bash 复制代码
docker network create mynetwork

然后在创建容器时,指定使用mynetwork网络,并设置容器的IP地址和端口:

bash 复制代码
docker run -d --name container-a --network mynetwork --ip 172.18.0.2 -p 8080:80 nginx
docker run -d --name container-b --network mynetwork --ip 172.18.0.3 -p 8080:80 nginx

这样,容器A和容器B就可以使用相同的端口号,而不会出现冲突。

总结

Portainer是一款非常实用的Docker容器管理工具,可以大大简化Docker容器的管理和维护工作。通过web界面,可以轻松实现容器的创建、启动、停止、删除等操作,同时还可以管理镜像和网络。在使用Portainer时,需要注意避免端口冲突,可以采用分配独立端口或使用Docker网络的方式来解决。

相关推荐
冰封之寂3 小时前
Docker Compose 容器编排实战:从入门到 LNMP 环境部署-zabbix监控
docker·容器·zabbix
带娃的IT创业者3 小时前
原生体验的回归:深入解析 TREK —— 专为 Apple Silicon 打造的轻量级容器方案
macos·docker·虚拟化·开源项目·容器化·apple silicon·trek
爱吃龙利鱼3 小时前
K8s 运维体系搭建:全组件监控与日志收集实战(victoria-metrics-k8s-stack 0.87.0)
运维·容器·kubernetes
心如鉄补4 小时前
分布式链路追踪系统之docker-compose安装skywalking
分布式·docker·skywalking
冰封之寂14 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
9523616 小时前
Docker - 基础
运维·后端·docker·容器
Code_Ignis17 小时前
docker国内可用源(持续维护)
运维·docker·容器
水中加点糖1 天前
Java中使用远程PlayWright进行网页接口测试(附Docker部署方式)
java·docker·web测试·devtools·playwright·ai自动化测试
梦梦代码精1 天前
PHP 还是 Java?LikeShop 多版本对比,附6条落地避坑建议
低代码·docker·开源·代码规范
张忠琳1 天前
【NVIDIA】k8s-device-plugin v0.19.3 NVIDIA k8s-device-plugin v0.19.3 核心插件模块深度分析之一
云原生·容器·架构·kubernetes·nvidia