Docker系列 用Portainer管理Docker应用
本文最后更新于 227 天前,如有失效请评论区留言。

如何更快地访问本站?本博客用什么VPS?创作不易,请支持苯苯!推荐购买本博客的VIP喔,10元/年即可畅享所有VIP专属内容!也欢迎大佬对本文进行慈善承包(ฅ´ω`ฅ)

日志

  • 2023-04-15:新增Portainer的日常使用建议。

前言

前面我们学习了NPMddns-go和bitwarden的安装。今天我们要安装一个管理docker应用的docker应用——Portainer。Portainer的界面差不多是这样的:

image-20220422181108792

我觉得它在进行程序调试和查看日志时比较方便;而且它也比较有利于向大家展示docker服务的一些结构。

以后会慢慢地提到它的简单用法。我们先安装它吧。

测试平台

uname -a # Linux VM-12-8-ubuntu 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

docker --version # Docker version 20.10.5, build 55c4c88

docker-compose --version # docker-compose version 1.28.6, build 5db8d86f

安装Portainer

Portainer是一个管理Docker程序的后台。建议你在安装好NPMbitwarden后要马上安装它。

它的安装也很简单:

# 提前拉取镜像
docker pull portainer/portainer-ce

# 开放目标端口,我们这里用9000。你应该改一个别的端口。
sudo ufw allow 9000 comment 'portainer' && sudo ufw reload

# 安装Portainer
docker run -d \
    --restart=unless-stopped \
    -p 9000:9000 `#改自己喜欢的端口号` \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --name portainer \
    portainer/portainer-ce

NPM设置

不了解Nginx Proxy Manager用法的小伙伴,请看《Docker系列 两大神器NPM和ddns-go的安装》。

通过ddns-go或者域名托管后台解析一个域名example.com

NPM反代http://172.17.0.1:9000。无特殊设置。

image-20220422182336103

访问https://example.com即可访问。

刚开始会要求你设置帐户和密码。用bitwarden记录即可。

日常使用

目前使用的是Community Edition2.17.0版本

Stack

我比较喜欢在Portainer里观察Stack的情况:

msedge_ZPYpybr6AS

Container

可以很方便地查看某个docker容器的日志等:

msedge_gsMlpnqsrP

Image

建议小伙伴将未被使用的image(sha256编号后有一个Unused标签)删除以节省空间:

msedge_FBEVx4SNnC

有时候,我们可能需要获得某个版本的image。这时,可以获得image的sha265信息:

docker inspect kerwin1202/chatgpt-web

输出结果会包含:

"Id": "sha256:568e3b2dc343b360de7e01a073c2174255c49bb0c3b8457559911df25b80330b",
"RepoTags": [
    "kerwin1202/chatgpt-web:latest"
],
"RepoDigests": [
    "kerwin1202/chatgpt-web@sha256:7377d2bcfcf1c37e928bb330e98adb481cf8aa0b9230d19cf6c5f5ab2a7d8201"
],

其中这里的@sha256:xxx可以用于下载特定版本的image:

docker pull kerwin1202/chatgpt-web@sha256:7377d2bcfcf1c37e928bb330e98adb481cf8aa0b9230d19cf6c5f5ab2a7d8201

此时,下载到后台的image通常是没有tag的:

msedge_UIT92CbfLN

你可以添加tag:

msedge_zjt8Z7AeMg

当然,这些用法并不常规,仅建议在某些开发中的不太稳定的项目使用这种策略。大多数情况下,我们都是使用最新版。

小结

基本上是这样,没啥特别的。它的用途以后再慢慢展示吧!

---------------
完结,撒花!如果您点一下广告,可以养活苯苯😍😍😍

基于m2w创作。版权声明:除特殊说明,博客文章均为Bensz原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。VIP内容严禁转载!由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。如有需要,请至学习地图系统学习本博客的教程。加Telegram群可获得更多帮助喔! | 博客订阅:RSS | 广告招租请留言 | 博客VPS | 致谢渺软公益CDN |

评论

  1. cye
    置顶
    Windows Chrome 102.0.0.0
    1年前
    2022-6-16 12:00:19

    提问,为何这里直接用docker命令,不用docker-compose了?因为官方只给了docker命令吗ヾ(≧∇≦*)ゝ还有为什么官方给了两个端口的转发(8000和9443),但这里只用到一个9000?

    • 博主
      cye
      Windows Chrome 102.0.0.0
      1年前
      2022-6-16 12:03:33

      因为感觉这个应用比较简单,而且也没有特别的目录或文件要挂载(-v的那个是docker的系统文件);而且这个命令是我较早期是写的,那个时候自己还不会用docker-compose,哈哈!所以就这样用了。至于2个端口的问题,你可以试试看,我还没试过ヾ(≧∇≦*)ゝ 自己折腾下呗!我目前的用法好像没啥问题。我平时也只用它看一下,我一般都是用命令行比较多୧(๑•̀⌄•́๑)૭

      • cye
        Bensz
        Windows Chrome 102.0.0.0
        1年前
        2022-6-16 12:32:23

        找到一个关于9000和9043的解释:https://docs.portainer.io/release-notes#breaking-changes-2
        还有8000是optional的:https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux#introduction
        我试着把官网的docker命令翻译成了docker-compose,目前可以登录,暂时没有问题。版本是2.13

        services:
          app:
            image: portainer/portainer-ce:latest
            volumes:
              - ./app:/data/
              - /var/run/docker.sock:/var/run/docker.sock
              - portainer_data:/data
            ports:
              - <port>:9443
            restart: unless-stopped
        
        volumes:
          portainer_data:
      • 博主
        cye
        Windows Chrome 102.0.0.0
        1年前
        2022-6-16 12:38:09

        这个视角不错。对于某些场景,比如代理远程的Portainer时,9443或许是一个更好的选择。如果与Nginx Proxy Manager联用没有重定向问题,其实9443也可以。目前,在我的应用场景中,由于使用Nginx Proxy Manager反代地址http://127.0.0.1,用9000这个http端口足矣。8000端口是开tcp隧道的,一时想不出有什么场景。谢谢大佬的测试!

    • cye
      Windows Edge 103.0.1264.37
      1年前
      2022-6-26 20:15:28

      docker-compose的应用场景就是多容器的编排,单容器应用没必要吧,效果都一样

      • 博主
        见微
        Windows Chrome 102.0.0.0
        1年前
        2022-6-26 20:17:24

        你觉得哪个方便、哪个好用,就用那个即可。条条大道通罗马。

      • cye
        见微
        Macintosh Chrome 103.0.0.0
        1年前
        2022-6-27 10:48:20

        我以前也只用过docker命令,看了博主的文章之后觉得docker-compose的可读性挺好的。而且用来备份安装方式也是不错的,当然理论上也可以把docker命令给备份了?,但那样的话就得是好几条pull和run,感觉不如docker-compose简洁和易读。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇