Part 7 - 容器的应用2

2023-08-27
4分钟阅读时长

【版本】

当前版本号v20230827

版本修改说明
v20230827初始化版本

任务7 使用 Portainer 管理 Docker

【任务目的】

  • 掌握 Docker 镜像的导入
  • 掌握 Docker 容器

【任务环境】

  • VirtualBox
  • FinalShell

【任务资源】

  • Portainer简介
    • 1.Portainer 本意是码头集装箱起重机,是一个轻量级 Docker 管理界面应用,可让我们轻松管理Docker主机或Swarm集群。
    • 2.提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面.
    • 3.基本能满足中小型单位对容器管理的全部需求。
    • 4.Portainer的部署和使用都非常简单,它由一个可以在任何Docker引擎上运行的容器组成(支持Docker for Linux和Docker for Windows)。
    • 5.Portainer consists of two elements, the Portainer Server, and the Portainer Agent.
    • 6.By default, Portainer Server will expose the UI over port 9443
    • 7.SELinux is disabled on the machine running Docker. I
    • 8.Docker is running as root
    • 9.create the volume that Portainer Server will use to store its database

【任务步骤】

拉取镜像

  1. 搜索portainer镜像
docker search portainer
  • 正常情况下可以看到以下内容(结果太多,省略了部分显示结果)
NAME                                  DESCRIPTION                                     STARS  OFFICIAL   AUTOMATED
portainer/portainer                   This Repo is now deprecated, use portainer/p…   2441              
portainer/portainer-ce                Portainer CE - a lightweight service deliver…   1953              
portainer/agent                       An agent used to manage all the resources in…   215               
portainer/portainer-ee                Portainer BE - a fully featured service deli…   79                
  1. 拉portainer/portainer-ce镜像的最新稳定版本到本地。
docker pull portainer/portainer-ce

portainer/portainer已不推荐(已经停止更新),学习和个人使用推荐使用portainer/portainer-ce(开源社区版本),对应的企业版本是portainer-ee(商业版,提供企业级管理解决方案)。

  • 如果成功可以看到以下信息
Using default tag: latest
latest: Pulling from portainer/portainer-ce
Digest: sha256:94c3056dbe879f3a3df06b427713392a0962924914f5c2fc557de3797f59f926
Status: Image is up to date for portainer/portainer-ce:latest
docker.io/portainer/portainer-ce:latest

创建卷

  1. 创建一个卷(volumn)用于存储Portainer Server 的数据库数据。
docker volume create portainer_data

Docker Volume能让容器从宿主主机中读取文件或持久化数据到宿主主机内,让容器与容器产生的数据分离开来。你可以简单地把它理解为linux服务器上的挂载点。

  1. 查看创建的卷。
docker volume ls
  • 正常会出现类似以下信息
DRIVER    VOLUME NAME
local     portainer_data

启动容器

  1. 启动 Portainer 容器。
docker run -d --restart=always -p 8000:8000 -p 9443:9443 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

注意:默认情况下Portainer 会启用8000、9000、9443 三个端口。其中9443端口是使用了自签名的SSL证书加密访问。9000端口则是没有加密。 如果你想该容器在重启 docker run -d –restart=always <image_name> 其中,-d 参数表示在后台运行容器,–restart=always 参数表示在容器退出时自动重启容器。例如,如果您想运行名为 my_image 的镜像并将其放在后台运行。如果你想停止该容器并让该容器在寄主机重启后不会自动重启,使用docker stop <container_ID/container_name>。

  1. 查看 Portainer 映射的端口。
docker port portainer 
  • 正常情况下会显示以下端口映射结果
8000/tcp -> 0.0.0.0:8000
8000/tcp -> [::]:8000
9443/tcp -> 0.0.0.0:9443
9443/tcp -> [::]:9443
  1. 查看容器运行状态。
docker ps
  • 运行结果
CONTAINER ID   IMAGE                           COMMAND        CREATED         STATUS         PORTS                                                                                                                             NAMES
4e1664ef0a0f   portainer/portainer-ce:latest   "/portainer"   3 minutes ago   Up 3 minutes   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp   portainer
  1. 可以通过 http/https 两种方式访问。

https://10.0.0.70:9443

http://10.0.0.70:9000

登录 Portainer 管理 Docker

  1. 输入以下管理员帐号和密码,点击"Create user"创建管理员。
Username:admin
Password: 123456789012
Confirm password: 123456789012

第1次输入密码的字符数不能小于12个字符,登陆后可以改动

  1. 登录以后能看到 Portainer 的WEB界面了。进入本地管理界面对镜像。

  2. 请利用 Portainer 的 Web 管理界面实现 任务Part6 的功能,请同学们自己完成,并记录后续的任务步骤。

【常见问题】

1. 错误提示“Your Portainer instance timed out for security purposes.”

  • 提示细节:
New Portainer installation Your Portainer instance timed out for security purposes. To re-enable your Portainer instance, you will need to restart Portainer.
For further information, view our documentation.

解决办法:

  • (1)重启portainer容器
docker restart portainer
  • (2)回到"设置管理员帐号和密码",在一分钟内完成admin帐户的创建

扫码或长按识别访问