标签搜索

目 录CONTENT

文章目录

【Docker小知识】告别长命令,Composerize你的Docker部署命令!Docker-compose YYDS!

咕咕鸽
2022-05-20 / 8 评论 / 3 点赞 / 1,166 阅读 / 1,528 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-05-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告

https://www.composerize.com/

前言

我们在搭建docker项目的时候,通常会有两种形式,

一种是类似这样的命令行模式的(比如zfile):

docker run -d --name=zfile --restart=always \
    -p 8080:8080 \
    -v /root/data/docker_data/zfile/conf:/root/.zfile \
    -v /root/data/docker_data/root/zfile/db:/root/.zfile-new/db \
    -v /root/data/docker_data/root/zfile/data:/root/zfile/data \
    stilleshan/zfile

还有一种是docker-compose的形式的(比如qBittorrent):

version: "2"
services:
  qbittorrent:
    image: linuxserver/qbittorrent
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai # 你的时区
      - UMASK_SET=022
      - WEBUI_PORT=8081 # 将此处修改成你欲使用的 WEB 管理平台端口 
    volumes:
      - /root/data/docker_data/qBittorrent/config:/config # 绝对路径请修改为自己的config文件夹
      - /root/data/docker_data/qBittorrent/downloads:/downloads # 绝对路径请修改为自己的downloads文件夹
    ports:
      # 要使用的映射下载端口与内部下载端口,可保持默认,安装完成后在管理页面仍然可以改成其他端口。
      - 6881:6881 
      - 6881:6881/udp
      # 此处WEB UI 目标端口与内部端口务必保证相同,见问题1
      - 8081:8081
    restart: unless-stopped

很明显,相比前一种方式,后一种docker-compose的方法更简单一些,所有配置文件都在docker-compose.yml里头,我们只需要在这个文件夹下,运行docker-compose up -d 就可以了,搬家换服务器的时候,也把这份配置文件带上,可以很轻松地完成服务器迁移工作。

那么,有没有办法,把前面的那种类似命令行的模式,改成docker-compose的模式呢?其实,仔细观察,就会发现,他们是一个东西,我们没有深入研究docker compose,也能猜到,docker-compose的文件,其实就是把命令行的那串东西,通过一定的规则,转换而来的。

你对照着,其实也能大概写出一个雏形。

而今天,我们要分享的,就是利用工具,快速完成这个转换的动作!

1. 演示

项目站点:https://www.composerize.com/

GitHub地址:https://github.com/magicmark/composerize

好了,其实这已经是今天视频的核心内容了,如果你不像自己麻烦搭建,后面的可以不用看了。

如果你担心这个网站哪天没了,或者是他的服务器崩了,导致服务不可用,那么我们来看看自己怎么搭建一个这样的服务。

2. 自建

2.1 搭建环境

2.2 搭建视频

YouTube:https://youtu.be/hH-ezOV4lY0

哔哩哔哩【高清版本可以点击去吐槽到B站观看】:

其实很简单。

首先我们要安装一个NPM(注意,这里的NPM是真的NPM,不是指Nginx Proxy Manager)

image-20220520181351747

npmNode.js默认的、用JavaScript编写的软件包管理系统。 维基百科

然后用NPM来安装。

apt update -y 

sudo apt install npm -y 

npm install composerize -g  # -g 表示全局安装

使用方法:

composerize docker run -d --name tinypin -p 3030:3000 -v "$(pwd)/data:/data" --restart=unless-stopped slynn1324/tinypin

3. 注意事项

遇到部分复杂的命令,可能会转换不成功,例如:

docker run -d --name=Whiteboard -p 8080:8080  --memory=2g --cpus=1 --restart=always --net=vlan100 --ip=192.168.100.17 rofl256/whiteboard 

转换结果如下:

version: '3.3'
services:
    whiteboard:
        container_name: Whiteboard
        ports:
            - '8080:8080'
        restart: always
        network_mode: vlan100
        image: rofl256/whiteboard

可以发现,丢失了很多东西 = =

项目还在维护中,希望能越来越好。

4. 最后

祝大家用得开心,有问题可以去GitHub提Issues,也可以在评论区互相交流探讨。

同时,有能力给项目做贡献的同学,也欢迎积极加入到项目中来,贡献自己的一份力量!

5. 鸣谢

捐赠列表:

时间 小伙伴ID 平台 金额 小伙伴留言
2022-05-01 B*r 微信 20 RMB 大佬,我可以加你吗! (这位没有留联系方式,很尴尬)
2022-05-03 **成 支付宝 30 RMB 感谢up主提供rss服务
2022-02-07 old_drive B站 4.03贝壳 充电
2022-03-10 环球公司朱总 B站 4.03贝壳 充电
2022-03-20 深刻小黄瓜 B站 4.03贝壳 充电
2022-03-27 眼里全是珍惜 B站 3.36贝壳 充电
2022-04-26 ryanwang-ya B站 59.14贝壳 充电
2022-05-03 vivianglia B站 0.68贝壳 充电
2022-05-09 **铭 支付宝 66 RMB 感谢您为中国教育做出的贡献 哈哈哈
2022-05-17 **兰 支付宝 15 RMB B站
2022-05-19 尼禄ばら B站 3.36贝壳 充电
2022-05-20 新星Starman B站 4.47贝壳 充电

非常感谢上面的小伙伴给咕咕充电!

YouTube的小伙伴可以发现现在视频下方有个感谢功能,也可以给咕咕充电了!

image-20220520182952683

image-20220520183101106

购买并发送之后,你的评论在评论区就会显示彩色 = =

大家的鼓励是咕咕持续分享的动力!

6. 参考资料

https://www.composerize.com/

https://github.com/magicmark/composerize

3
广告 广告

评论区