日期: 2024 年 10 月 22 日

  • 将 Docker 命令转化为 Docker Compose 文件

    如果你每天在正式或个人系统中使用 Docker,你应该知道有一个有用的应用叫 Composerize。在这个简短的指南中,我们将了解什么是 Composerize,以及如何使用 Composerize 在 Linux 中将 docker run 命令转换为 Docker Compose 文件格式。

    什么是 Composerize?

    Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。Docker Compose 只是一个 YAML 文件,我们在其中为 Docker 应用定义服务、网络和卷。

    不是每个人都擅长写高效的 Docker Compose 文件。你们中的一些人可能会发现,甚至写一个简单的 Docker Compose 文件都很困难。不用担心! 看下 Composerize,它可以帮助你从  docker run 命令中创建 Docker Compose 文件。

    Composerize 是一个命令行和基于网络的工具,可以将  docker run 命令转换成 Docker Compose 文件。

    无论  docker run 命令是简单、简短还是冗长、复杂,都没有关系。你所要做的就是把命令传给 Conposerize。Composerize 会立即将 docker run 命令变成 Docker Compose 文件!

    在 Linux 中安装 Composerize

    Composerize 是作为一个网络服务提供的。所以你不需要在你的系统上安装它。如果你因为任何原因想在本地安装它,请继续阅读。

    Composerize 可以用 npm 安装。确保你的系统中已经安装了 Nodejs。如果没有安装,请按照下面的链接来安装 Nodejs。

    安装完 Nodejs 后,运行以下命令来安装 Composerize:

    1. $ npm install composerize

    该命令将只为当前用户安装 Composerize。

    如果你想在全局(全系统)安装它,请运行上述命令并加上  -g 选项,如下所示。

    1. $ npm install composerize - g

    用 Composerize 将 Docker 命令转换为 Docker Compose 文件

    要将  docker run 命令转换为 Docker Compose 格式,只需用 Composerize 运行它,如下所示:

    1. $ composerize docker run - d - p 9000 : 9000 - v / var / run / docker . sock : /var/ run / docker . sock portainer / portainer

    它将以 Docker Compose 文件格式生成内容。

    示例输出:

    1. version : '3.3'
    2. services :
    3. portainer :
    4. ports :
    5. - '9000:9000'
    6. volumes :
    7. - '/var/run/docker.sock:/var/run/docker.sock'
    8. image : portainer / portainer

    Convert Docker Run Commands Into Docker-Compose Files With Composerize

    Convert Docker Run Commands Into Docker-Compose Files With Composerize

    现在在你的  docker-compose.yml 文件中复制上面几行。就这么简单!

    正如我所说,你也可以使用 Composerize 网络服务将  docker run 命令转换成 Docker Compose 格式。

    进入 https://www.composerize.com/,将 docker run 命令粘贴到框中,你就会立即得到 docker-compose.yml 文件!

    Turn Docker Run Commands Into Docker-compose Files Using Composerize

    Turn Docker Run Commands Into Docker-compose Files Using Composerize

    将命令转换为 Docker Compose 文件后,到你保存  docker-compose.yml 文件的位置,运行以下命令来启动 Docker 应用:

    1. $ docker - compose up

    Composerize 是对 Docker 用户有用的工具之一。你现在可以安全地告别漫无边际的 Docker 命令了。

  • NetHogs——Linux下按进程实时统计网络带宽利用率

    网上有很多适用于Linux操作系统的开源网络监视工具.比如说,你可以用命令iftop来检查带宽使用情况. netstat用来查看接口统计报告,还有top监控系统当前运行进程.但是如果你想要找一个能够按进程实时统计网络带宽利用率,那么NetHogs就是你所需要的唯一工具.

    080844ph0m069f1w4e9mj0

    1

    NetHogs – 网络带宽监控

    什么是NetHogs?

    NetHogs 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率.

    来自NetHogs项目网站:

    NetHogs是一个小型的’net top’工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组.NetHogs NetHogs不需要依赖载入某个特殊的内核模块. 如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况.这样就很容易找出哪个程序跑飞了然后突然占用你的带宽.

    这篇文章为你讲解了如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。

    在RHEL,CentOS和Fedora下安装NetHogs:

    要安装NetHogs,你必须要启用你所用Linux下的EPEL源.然后运行下面的yum命令下载安装NetHogs包.

    1. [ root@tecmint ~]# yum y install nethogs
    2.  
    3. Loaded plugins : fastest mirror , refresh packagekit
    4. Loading mirror speeds from cached hostfile
    5. * base : mirrors . hns . net . in
    6. * epel : mirror . nus . edu . sg
    7. * extras : mirrors . hns . net . in
    8. * rpmfusion free updates : mirrors . ustc . edu . cn
    9. * rpmfusion nonfree updates : mirror . de . leaseweb . net
    10. * updates : mirrors . hns . net . in
    11. Setting up Install Process
    12. Resolving Dependencies
    13. –> Running transaction check
    14. —> Package nethogs . i6860 : 0.8 . 0 1.el6 will be installed
    15. –> Finished Dependency Resolution
    16.  
    17. Dependencies Resolved
    18.  
    19. ===========================================================================================================
    20. Package                  Arch                  Version                      Repository                      Size
    21. ===========================================================================================================
    22. Installing :
    23. nethogs                i686                 0.8 . 0 1.el6                 epel                         28k
    24.  
    25. Transaction Summary
    26. ===========================================================================================================
    27. Install        1 Package ( s )
    28.  
    29. Total download size : 28k
    30. Installed size : 50k
    31. Downloading Packages :
    32. nethogs 0.8 . 0 1.el6.i686.rpm                                                          |    28kB      00 : 00
    33. Running rpm_check_debug
    34. Running Transaction Test
    35. Transaction Test Succeeded
    36. Running Transaction
    37.    Installing : nethogs 0.8 . 0 1.el6.i686                                                            1 / 1
    38.    Verifying    : nethogs 0.8 . 0 1.el6.i686                                                            1 / 1
    39.  
    40. Installed :
    41.   nethogs . i6860 : 0.8 . 0 1.el6
    42.  
    43. Complete !

    在Ubuntu, Linux mint和Debian下安装NetHogs:

    键入apt-get命令安装NetHogs包

    1. $ sudo apt-get install nethogs

    样例输出

    1. tecmint@tecmint :~ $ sudo apt-get install nethogs
    2. [ sudo ] password fortecmint :
    3. Reading package lists Done
    4. Building dependency tree
    5. Reading state information Done
    6. The following NEW packages will be installed :
    7. nethogs
    8. 0 upgraded , 1 newly installed , 0 to remove and 318 not upgraded .
    9. Need to get 27.1kB of archives .
    10. After this operation , 100kB of additional disk space will be used .
    11. Get : 1 http : //in.archive.ubuntu.com/ubuntu/ quantal/universe nethogs i386 0.8.0-1 [27.1 kB]
    12. Fetched 27.1kB in 1s ( 19.8kB / s )
    13. Selecting previously unselected package nethogs .
    14. ( Reading database 216058 files and directories currently installed .)
    15. Unpacking nethogs ( from …/ nethogs_0 . 8.0 1 _i386 . deb )…
    16. Processing triggers forman db
    17. Setting up nethogs ( 0.8 . 0 1 )…

    NetHogs用法

    在基于RedHat系统下键入如下命令启动NetHogs工具.

    要执行NetHogs你必须拥有root权限,即如图所示用sudo命令

    1. $ sudo nethogs

    样例预览:

    080846zf0ef7bgautccuxx

    2

    CentOS 6.3 下的NetHogs预览

    080847mojvxe9h92jxr79h

    3

    Ubuntu 12.10 下的NetHogs预览

    正如上图所示, send列和received列显示的是按照每个进程的流量统计.总的收发数据带宽在最下方,而且可以用交互命令控制排序,下面将要讨论这些交互命令:

    NetHogs 命令行参数

    以下就是NetHogs命令行的参数,用’-d’来添加刷新频率参数,device name 用来检测给定的某个或者某些设备的带宽(默认是eth0).例如:设置5秒钟的刷新频率,键入如下命令即可:

    如果只用来监视设备(eth0)的网络带宽可以使用如下命令:

    1. $ sudo nethogs eth0

    如果要同时监视eth0和eth1接口,使用以下命令即可:

    1. # nethogs eth0 eth1

    其他参数和用法

    NetHogs 交互控制

    以下是NetHogs的一些很有用的交互控制(键盘快捷键)

    想要NetHogs命令行工具的完整参数列表请参考NetHogs的手册,使用方法是在终端里输入‘man nethogs‘ 或者 ‘sudo man nethogs‘,更多信息请参考NetHogs项目主页.

  • 查看linux接口进出口流量的命令;linux 网络监控;流量监控

    1、nload,左右键切换网卡

    2、sudo iftop

    3、sudo iptraf 按连接/端口查看流量

    4、sudo nethogs: 按进程查看流量占用

    5、ss: 连接查看工具

    6、dstat -nf