作者: houlijiang

  • Hyper-V 共享式网络链接 端口映射

    远程路由访问我配置了很久都不成功,经过多方搜索,现面的命令能实现端口映射
    一、查询端口映射情况
    
    netsh interface portproxy show v4tov4
    查询这个IP所有的端口映射。
    netsh interface portproxy show v4tov4|find "192.168.1.1" 
    二、增加一个端口映射
    netsh interface portproxy add v4tov4 listenport=外网端口 listenaddress=主IP connectaddress=私网IP connectport=私网IP端口
    例如:
    netsh interface portproxy add v4tov4 listenport=8888 listenaddress=118.123.13.180 connectaddress=192.168.1.10 connectport=2222
    三、删除一个端口映射
    netsh interface portproxy delete v4tov4 listenaddress=主IP listenport=外网端口
    例如:
    netsh interface portproxy delete v4tov4  listenaddress=118.123.13.180 listenport=8888
    
    在关闭Hyper-V虚拟机的情况下,选择Hyper-V管理界面中的“虚拟交换机管理器”
    在弹出的对话框中“新建虚拟网络交换机”,选择“内部”,点击“创建虚拟交换机”。
    在IP网卡 切换到“共享”标签下,勾选“允许其他网络用户通过此计算机的Internet连接来连接”并在下方“家庭网络连接”中选择刚刚创建的虚拟交换机——vEthernet (Hyper-V Switch),点击“确认
  • tmux

    Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。

    补充说明

    使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;

    功能

    • 提供了强劲的、易于使用的命令行界面。
    • 可横向和纵向分割窗口。
    • 窗格可以自由移动和调整大小,或直接利用四个预设布局之一。
    • 支持 UTF-8 编码及 256 色终端。
    • 可在多个缓冲区进行复制和粘贴。
    • 可通过交互式菜单来选择窗口、会话及客户端。
    • 支持跨窗口搜索。
    • 支持自动及手动锁定窗口。

    安装

    # 在 Mac OS 中,通过 brew 安装
    brew install tmux
    # ubuntu版本下直接apt-get安装
    sudo apt-get install tmux
    # centos7版本下直接yum安装
    yum install -y tmux
    
    # centos6版本需要编译安装
    yum install libevent libevent-devel ncurses-devel
    tar -zvxf tmux-2.3.tar.gz # (提前下载:wget https://github.com/tmux/tmux/releases/download/2.3/tmux-2.3.tar.gz)
    cd tmux-2.3
    ./configure
    make && make install
    

    快捷键使用说明

    Ctrl+b 激活控制台;此时以下按键生效
    系统操作 ? 列出所有快捷键;按q返回
    d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
    D 选择要脱离的会话;在同时开启了多个会话时使用
    Ctrl+z 挂起当前会话
    r 强制重绘未脱离的会话
    s 选择并切换会话;在同时开启了多个会话时使用
    : 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
    [ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
    ~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
    窗口操作 c 创建新窗口
    & 关闭当前窗口
    数字键 切换至指定窗口
    p 切换至上一窗口
    n 切换至下一窗口
    l 在前后两个窗口间互相切换
    w 通过窗口列表切换窗口
    , 重命名当前窗口;这样便于识别
    . 修改当前窗口编号;相当于窗口重新排序
    f 在所有窗口中查找指定文本
    面板操作 将当前面板平分为上下两块
    % 将当前面板平分为左右两块
    x 关闭当前面板
    ! 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
    Ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
    Alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
    Space 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
    q 显示面板编号
    o 在当前窗口中选择下一面板
    方向键 移动光标以选择面板
    { 向前置换当前面板
    } 向后置换当前面板
    Alt+o 逆时针旋转当前窗口的面板
    Ctrl+o 顺时针旋转当前窗口的面板

    1)进入tmux面板后,一定要先按ctrl+b,然后松开,再按其他的组合键才生效。 2)常用到的几个组合键:

    ctrl+b ?        #     显示快捷键帮助
    ctrl+b 空格键   #     采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示
    ctrl+b !        #     把当前窗口变为新窗口
    ctrl+b  "       #     模向分隔窗口
    ctrl+b %        #     纵向分隔窗口
    ctrl+b q        #     显示分隔窗口的编号
    ctrl+b o        #     跳到下一个分隔窗口。多屏之间的切换
    ctrl+b 上下键   #    上一个及下一个分隔窗口
    ctrl+b C-方向键 #    调整分隔窗口大小
    ctrl+b &        #    确认后退出当前tmux
    ctrl+b [        #    复制模式,即将当前屏幕移到上一个的位置上,其他所有窗口都向前移动一个。
    ctrl+b c        #    创建新窗口
    ctrl+b n        #    选择下一个窗口
    ctrl+b l        #    最后使用的窗口
    ctrl+b p        #    选择前一个窗口
    ctrl+b w        #    以菜单方式显示及选择窗口
    ctrl+b s        #    以菜单方式显示和选择会话。这个常用到,可以选择进入哪个tmux
    ctrl+b t        #    显示时钟。然后按enter键后就会恢复到shell终端状态
    ctrl+b d        #    脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
    

    参考资料

    • tmux 官网下载地址:http://tmux.github.io/
  • Linux查看网络流量

    作为一个非职业运维,不时需要查看Linux服务器上的网络流量状况。本文介绍几个常用的Linux查看网络流量命令,并简要介绍其用法。部分命令系统已经内置,某些命令则需要从软件仓库或者自行编译安装,本文以CentOS系统为例介绍软件安装方法。

    一、查看总流量

    ip

    ip 命令来自 iproute2util 包,是查看、配置网络/路由的工具。作为 ifconfig 的替代品,ip 命令功能更强大,用法更语义化。

    ip命令在大多数系统上都已经默认安装,也可通过 yum install -y iproute 安装。ip 的 “-s -h” 参数查看各网卡的总流量,下图是 ip -s -h link 的输出结果:

    nload

    nload 命令可以查看各个网络设备的当前网络速率,也会展示流经设备的总流量。

    nload 来自EPEL软件库,CentOS安装命令为:yum install -y epel-release && yum install -y nload。查看eth0网卡流量 nload eth0命令输出如下:

    PS:netstat -s 和 ifconfig -s 都可以查看收发的总包(netstat分协议给出),但不会给出字节数据。

    二、查看实时网速网速

    nload 命令可以输出当前网速,上面已经介绍过,本节不再赘述。

    dstat

    dstat 是一个用来替换vmstatiostatnetstatnfsstatifstat的全能系统信息统计工具,支持数据实时刷新,输出直观易懂。

    dstat 默认没有安装,安装命令为:yum install -y dstatdstat -tnf 1 10 输出接下来10秒内每秒的网络数据:

    sar

    sar 是System Activity Report的缩写,是一款全面的Linux系统运行状态统计和性能分析工具,可从磁盘IO、CPU负载、内存使用等多个维度对系统活动进行报告。

    sar 命令来自 sysstat 包,可使用这个命令安装:yum install -y sysstatsar -n TCP 1 10可查看接下来10秒内的tcp数据:

    三、查看连接/进程流量

    ss/netstat

    ss 和 netstat 是查看活动链接/监听端口的常用命令。ss 是 netstat 的替代,性能更好,建议使用。

    ss 是 iproute2util 包的一部分,因此在大多数系统上默认安装,也可通过yum install -y iproute安装。netstat 来自 net-tools 包,新版系统上需要自行安装:yum install -y net-tools

    下图是用ss查看tcp连接的输出:

    iftop

    iftop 是一款实时流量监控工具,可以查看每个连接的实时速率。

    iftop 来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y iftopiftop -nN -i eth0实时查看eth0网卡的各个连接和网速:

    nethogs

    nethogs 是为了查看单个进程流量而设计的工具,按照进程进行带宽分组。

    nethogs 来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y nethogsnethogs -d 2 eth0 每2秒刷新流经eth0网卡的进程流量信息:

    其他

    tcpdump可以用来抓包,保存的数据可以用wireshark打开和查看。

  • 安装 docker-compose

    1. 最新发行的版本地址:https://github.com/docker/compose/releases
    2. 运行以下命令以下载Docker Compose的当前稳定版本:
    sudo curl -L "https://github.com/docker/compose/releases/download/1.27.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    将可执行权限应用于二进制文件:
    sudo chmod +x /usr/local/bin/docker-compose
    注意:如果命令docker-compose在安装后失败,请检查您的路径。您还可以创建指向/usr/bin或路径中任何其他目录的符号链接。
    
    测试安装
    docker-compose --version
    bash 命令补齐
    curl -L https://raw.githubusercontent.com/docker/compose/1.8.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
    卸载docker-compose
    直接移除二进制包即可
    
    sudo rm /usr/local/bin/docker-compose
  • 如何使用 Watchtower 自动更新正在运行的 Docker 容器

    对开发运维人员来说,保持 Docker 容器为最新版本是重要工作之一。手动更新 Docker 容器是一项耗时的工作。这篇文章解释了 Watchtower 是什么,如何安装它,以及在 Linux 中如何 使用 Watchtower 自动更新正在运行的 Docker 容器 。

    Watchtower 是什么?

    Watchtower 是一款自由开源的应用,用来监控运行中的 Docker 容器,并且当它发现基础镜像被更改后,可以自动的更新容器。

    若 Watchtower 发现一个运行中的容器需要更新,它会以发送 SIGTERM 信号的方式,优雅的结束运行中容器的运行。

    它会下载新镜像,然后以最初部署时使用的方式,重启容器。所有文件会在后台自动下载,因此不需要用户的介入。

    在这份指南中,我们将会明白如何在类 Unix 系统中使用 Watchtower 自动更新正在运行的 Docker 容器。

    我已经在 CentOS 和 Ubuntu 中测试了这份指南,所有的 Linux 发行版中操作过程都一样。

    在 Linux 中安装 Watchtower

    可以通过 Docker 镜像的方式下载 Watchtower 。因此,部署它是小事一桩。在你的 Linux 中安装 Docker 镜像,然后运行 Watchtower 立即开始监控 Docker 容器。

    参考下方指导在基于 PRM 和 DEB 包管理系统中安装 Docker

    安装 Docker 后,你可以使用以下命令以 root 用户身份部署 Watchtower 容器:

    # docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

    如果你已经安装了 Docker 桌面版,以普通用户运行 Watchtower 容器。

    $ docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

    该命令会拉取最新版的 watchtower 镜像,并运行 watchtower 容器。

    输出样例:

    Unable to find image 'containrrr/watchtower:latest' locally
    latest: Pulling from containrrr/watchtower
    1045b2f97fda: Pull complete 
    35a104a262d3: Pull complete 
    1a0671483169: Pull complete 
    Digest: sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3
    Status: Downloaded newer image for containrrr/watchtower:latest
    91c104ef0e9896e8cd5ff30d9f13e728dbfad66443830ec2ac85dde6d7d37564
    Run Watchtower Docker Container

    使用 Watchtower 自动更新 Docker 容器

    在你的系统上,Watchtower 正在和其他容器一起运行。你可以使用一下命令查看运行中的 Docker 容器列表:

    $ docker ps

    输出样例:

    CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
    91c104ef0e98   containrrr/watchtower       "/watchtower"            14 minutes ago   Up 14 minutes   8080/tcp                                      watchtower
    f90b462b0712   bitnami/wordpress-nginx:6   "/opt/bitnami/script…"   19 minutes ago   Up 19 minutes   0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp   ostechnix-wordpress-1

    正如上方输出所示,watchtower 容器正在和名为 ostechnix-wordpress-1 的容器一起运行。从现在开始,watchtower 会每隔几分钟会检查该容器。

    如果 Watchtower 发现该容器的基础镜像的任何变化,它会优雅的关闭 ostechnix-wordpress-1 容器,然后使用与最初启动它时使用的相同方式,启动新的镜像。

    类似的,它会自动地每隔几分钟检查所有的运行中容器,并自动更新它们。

    Watchtower 如何更新多连接的容器?

    在监视多连接容器时,Watchtower 十分智能。

    假设我们现在运行两个容器。

    $ docker ps

    输出样例:

    CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
    91c104ef0e98   containrrr/watchtower       "/watchtower"            14 minutes ago   Up 14 minutes   8080/tcp                                      watchtower
    f90b462b0712   bitnami/wordpress-nginx:6   "/opt/bitnami/script…"   19 minutes ago   Up 19 minutes   0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp   ostechnix-wordpress-1
    a895f082438a   bitnami/mariadb:10.6        "/opt/bitnami/script…"   20 minutes ago   Up 19 minutes   3306/tcp                                      ostechnix-mariadb-1
    View Running Docker Containers

    正如你看到的,我们正在运行 ostechnix-wordpress-1 和 ostechnix-mariadb-1 这两个容器。ostechnix-mariadb-1 容器链接到 ostechnix-wordpress-1 容器。

    如果 Watchtower 发现 ostechnix-wordpress-1 容器有个新版本,它会先关闭与之相连接的 ostechnix-mariadb-1 容器 ,然后才会关闭 ostechnix-wordpress-1 容器。

    更新 ostechnix-wordpress-1 容器后,Watchtower 会以正确的顺序,且与最初启动它们时使用的相同方式,重启这两个容器,以便应用程序正确恢复。在我们的例子中,首先启动的是 ostechnix-mariadb-1 容器,然后是 ostechnix-wordpress-1 容器,以确保连接能够继续运行。

    监控特定容器

    默认情况下,Watchtower 将监控在它所指向的 Docker 守护进程中运行的所有 Docker 容器。

    不过,你可以像下面这样,通过指定容器名称限制 Watchtower 监视特定的 Docker 容器。

    $ docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower ostechnix-wordpress-1

    在上方的例子中,watchtower 会忽略其他容器,只监视名为 ostechnix-wordpress-1 的容器更新情况。

    如果你不指定任何参数,Watchtower 会照常监视所有运行中的 Docker 容器。

    发送提示

    或许你想收到容器更新的通知。你可以通过电子邮件、Slack 、MSTeams 以及 Gotify 发送通知。

    下面这个例子展示了如何通过电子邮件发送通知。假设你已经设置了 SMTP 服务器。

    docker run -d \
      --name watchtower \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -e WATCHTOWER_NOTIFICATIONS=email \
      -e WATCHTOWER_NOTIFICATION_EMAIL_FROM=fromaddress@gmail.com \
      -e WATCHTOWER_NOTIFICATION_EMAIL_TO=toaddress@gmail.com \
      -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com \
      -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \
      -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=fromaddress@gmail.com \
      -e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=app_password \
      -e WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 \
      containrrr/watchtower

    参考下方 Watchtower Github 仓库和 Watchtower 官方主页获取更多信息:

  • ⽹⼼云容器版产品「容器魔⽅」介绍

    一、 什么是⽹⼼云容器版产品「容器魔⽅」?

    「容器魔方」由网心云推出的一款docker容器镜像软件,通过简单安装后即可快速加入网心云共享计算生态网络,为网心科技星域云贡献带宽和存储资源,用户根据每日的贡献量可获得相应的现金收益回报。网心科技星域云通过先进的边缘编排技术,将千家万户的节点连接成一张边缘云计算网络,为B端客户提供全球领先的、优质低成本的边缘计算服务。目前支持:koolshare、群晖、树莓派等支持docker的设备(arm32、aarch64、x86_64)。

    二、安装激活

    1.运行容器:

    docker run -d --name=wxedge --restart=always --privileged --net=host  --tmpfs /run --tmpfs /tmp -v /storage:/storage:rw  registry.hub.docker.com/onething1/wxedge

    必选参数说明:

    –privileged 必须打开(爱快docker不支持)。

    –net 目前只支持host(推荐)和macvlan两种网络模式(不熟悉docker和网络知识的用户不要尝试macvlan,非常复杂!)。

    “磁盘路径”是磁盘的目录,请根据自己实际磁盘目录更改,必须挂载到容器内的/storage目录,推荐磁盘是ext4文件系统,至少需要50G以上的空间,建议是固态硬盘。

    可选参数说明(建议新手都不要设置):

    -e NIC=eth0 有多网卡多线路时,可以使用该参数指定路由网卡,不配置会自动选默认路由网卡,如果是openwrt系统,可以使用-e NIC=br-lan,业务申请到和局域网同一个网段的IP。

    -e REC=false 第一次安装设置为false时,不会启动默认任务,默认为true,仅第一次安装有效。

    -e LISTEN_ADDR=”0.0.0.0:28888″ 支持设置绑定页面的监听地址和端口,监听全地址设置-e LISTEN_ADDR=”:28888″,默认监听全地址18888端口。多开容器也可以参考用该参数,比如容器A使用参数-e LISTEN_ADDR=”:18888″,容器B使用参数 -e LISTEN_ADDR=”:28888″(已经实现同一业务可多次添加,不建议多开容器)

    -v 磁盘路径:/var/lib/containerd 如果系统盘较小时,可以增加该参数修改安装路径,注意“磁盘路径”修改成自己的磁盘目录。

    2.升级容器:

    升级不需要删除原来的缓存,只升级镜像,原来的缓存是可以复用的,但注意挂载到容器中的路径必须是升级前的路径。如果发现生成新的SN,必定是挂载的路径错了。

    手动升级

    docker stop wxedge

    docker rm wxedge

    docker rmi registry.hub.docker.com/onething1/wxedge

    docker pull registry.hub.docker.com/onething1/wxedge

    docker run -d –name=wxedge –restart=always –privileged –net=host –tmpfs /run –tmpfs /tmp -v 磁盘路径:/storage:rw registry.hub.docker.com/onething1/wxedge

    “磁盘路径”要改成升级前的路径

    自动升级(containrrr/watchtower非网心云官方镜像,仅供参考,有问题请自行解决,强烈推荐)

    docker run -d –name watchtower –restart always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower –cleanup wxedge

    3.存储迁移

    容器启动成功后,会在挂载目录生成一个wxnode的文件,该文件是设备的唯一标识与账号绑定,请务必做好备份,对于多次恶意删除wxnode的用户,将拒绝激活。换盘或者更换挂载目录时,要将wxnode迁移至新的挂载目录下,不需要app重新绑定。跨cpu架构的wxnode和缓存数据不能通用,如将x86的wxnode和缓存数据迁移到arm64的设备上是无法使用的。

    三、网心云容器魔方接口文档

    https://help.onethingcloud.com/7cb4/3ed5/1e3a

    四、设备绑定

    打开浏览器(推荐谷歌浏览器),输入http://ip:18888(ip替换成安装设备的ip),比如http://192.168.1.10:18888

    五、产品指南&教程

    「产品指南」:

    https://help.onethingcloud.com/caa9/a0fe/b6b3

    「群晖安装激活教程」:

    https://help.onethingcloud.com/7cb4/3ed5/9899

    「koolshare安装激活教程」:

    https://help.onethingcloud.com/7cb4/3ed5/a209

    「树莓派&命令行安装激活教程」:

    https://help.onethingcloud.com/7cb4/3ed5/8907

    六、技术和经验交流

    QQ群1(已满):947847221

    QQ群2:235763379

    加群备注:wxedge

    七、友情链接(非官方教程,可参考)

    1.视频安装教程 https://www.bilibili.com/video/BV1w341187MG?spm_id_from=333.999.0.0

    2.debian安装教程 https://zhuanlan.zhihu.com/p/380208961

    3.portainer面板安装教程 https://post.smzdm.com/p/ag45dprw/

    4.威联通安装教程 https://bbs.onethingcloud.com/forum.php?mod=viewthread&tid=800&highlight=%E5%A8%81%E8%81%94%E9%80%9A

    5.低版本群晖(5.2版本)安装教程 https://bbs.onethingcloud.com/forum.php?mod=viewthread&tid=1583&highlight=%E5%AE%B9%E5%99%A8

  • mkfs 格式化磁盘

    指令:mkfs

    使用权限 : 超级使用者
    使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]
    说明 : 建立 linux 档案系统在特定的 partition 上

    参数 :

    device : 预备检查的硬盘 partition,例如:/dev/sda1

    -V : 详细显示模式
    -t : 给定档案系统的型式,Linux 的预设值为 ext2
    -c : 在制做档案系统前,检查该partition 是否有坏轨
    -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
    block : 给定 block 的大小
    -L:建立lable
     
    补充说明:
    mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。例如,若在"-t" 参数中指定ext2,则
    mkfs会调用mke2fs来建立文件系统.使用时如省略指定【块数】参数,mkfs会自动设置    适当的块数.

    例1

    a,把该设备格式化成ext3文件系统 
    
     [root@linux ~]# mkfs -t ext3  /dev/sda6
    
    b,此命令在 /dev/hd3 设备上创建了一个空的文件系统,将卷序列号设为 vol001,文件系统名为 works。新的文件系统占用了整个设备。文件系统具有缺省分段大小(4096 字节)和缺省 nbpi 比率(4096)       
    [root@linux ~]# mkfs -lworks -vvol001 /dev/hd3
    
    c,在 /dev/lv01 设备上创建一个空的 4MB 的文件系统,其分段大小为 512 字节,且每 2048 个字节为一个 i-node[root@linux ~]# mkfs -s 4M -o nbpi=2048, frag=512 /dev/lv01    
    
    d,创建了一个启用磁盘大文件的 JFS 文件系统,并且分配组大小为 64 兆字节,磁盘的每 131072 字节为一个 inode。文件系统的大小将成为逻辑卷 lv01 的大小[root@linux ~]# mkfs -V jfs -o nbpi=131072,bf=true,ag=64 /dev/lv01   
    
  • fdisk 分区格式化

    disk

    相关命令:暂无相关命令

    fdisk磁盘分区命令-v
        打印 fdisk 的版本信息并退出.
    -l
        列出指定设备的分区表信息并退出。 如果没有给出设备,那么使用那些在 /proc/partitions (如果存在)提到的.
    -u
        以扇区数而不是以柱面数的形式显示分区表中各分区的信息. -s 分区 将分区的 大小 (单位为块)信息输出到标准输出
    [root@localhost ~]# fdisk -l      
    
    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          17      136552   83  Linux
    /dev/sda2              18         279     2104515   82  Linux swap / Solaris
    /dev/sda3             280       60801   486142965    5  Extended
    /dev/sda5             280       60801   486142964+  83  Linux
  • docker centos7 安装sshd

    1. 拉取镜像

    docker pull cenntos:7
    
    1. 运行容器并且附加端口映射

    docker run -itd -p 22:22 --name centos7 centos:7 
    

    3.进入到容器

    docker attach 容器Id
    

    4.安装系列工具

    yum -y update
    yum install passwd openssl openssh-server vim -y
    

    5.启动sshd服务

    /usr/sbin/sshd -D &
    

    6.报错如下

    Could not load host key: /etc/ssh/ssh_host_rsa_key
    Could not load host key: /etc/ssh/ssh_host_ecdsa_key
    Could not load host key: /etc/ssh/ssh_host_ed25519_key
    

    7.解决错误并且重新运行

    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' 
    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
    

    8.修改配置文件

    //UsePAM yes 改为 UsePAM no
    //UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no
    sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
    sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
    
    1. 重新运行sshd服务

    /usr/sbin/sshd -D &

    10.修改密码

    passwd root

    11.使用putty或者xshell或者finalshell就可以连接登陆使用了。

    网络工具安装:

    yum search ifconfig

    通过yum search 这个命令我们发现ifconfig这个命令是在net-tools.x86_64这个包里,接下来我们安装这个包就行了

    运行 yum install net-tools   就OK 了

    yum install net-tools

    即可显示当前服务器上所有端口及进程服务,与grep结合可查看某个具体端口及服务情况··

    netstat -ntlp   //查看当前所有tcp端口·

    netstat -ntulp |grep 80   //查看所有80端口使用情况·

    netstat -an | grep 3306   //查看所有3306端口使用情况·

    ssh 命令不识别:

    yum -y install openssh-clients
  • docker 启动mq 服务

    mq:
            image: houlijiang/rabbitmq
            container_name: "mq"
            restart: always
            environment: 
                - TIME_ZONE=Asia/Shanghai #用户 
                - RABBITMQ_DEFAULT_USER=admin #密码 
                - RABBITMQ_DEFAULT_PASS=admin 
            volumes: 
                - /etc/localtime:/etc/localtime 
                - /etc/timezone:/etc/timezone 
                - /data/rabbitmq/db:/var/lib/rabbitmq/mnesia/rabbit@my-rabbit
            expose:
                - "15672"
                - "5672"
            ports:
                - "15672:15672"
                - "5672:5672"
            networks:
                - dev