Docker 使用宿主机网段
Docker 使用宿主机网段多是使用 MacVlan 创建虚拟网络实现。但本人在 RockyLinux 9.3 (ESXi 中运行的虚拟机)测试结果不尽人意。主要问题是:容器无法访问宿主机所在局域网网关和网段内的其它 IP 地址。(PS:后续查询资料,该问题是未开启 ESXi 的网卡混杂模式。另所查资料原文说 MacVlan 模式 1 个物理网卡仅支持 2 台虚拟机,超出 2 台后掉包严重,原因不明。)
最后改用了 Docker 新的 IpVlan 驱动方式解决问题。
IpVlan 和 MacVlan 使用方法基本一致,个别参数有差别,但基本上用不到。
创建 IpVlan 网络创建 IpVlan 网络:
12345678910docker network create \-d ipvlan \--subnet=192.168.1.0/24 \--gateway=192.168.1.1 \--ipv6 \--subnet=fd00:db8:1:ddee::/64 \--gateway=fd00:db8:1:ddee::1 \-o ipvlan_mode=l2 \-o parent=e ...
ESXi 远程 SSH 终端登录显示器管理界面
ESXi 主机通常不接显示器、键盘和鼠标,有时候需要登录显示器管理界面很不方便。ESXi 提供了远程 SSH 终端登录此管理界面的功能,即是指令 dcui。
开启 SSH在主机-操作-服务-启用 Secure Shell (SSH)。
登录 SSH 终端使用你喜欢的 SSH 软件登录 ESXi。
登录显示器管理界面在 SSH 终端输入以下代码进入显示器管理界面:
12TERM=xtermdcui
ps:TERM 为终端环境变量。可以不设置此变量,直接输入 dcui 进入显示器管理界面。
ESXi 6.7 自动关机设置
开启 SSH在主机-操作-服务-启用 Secure Shell (SSH)。
登录 SSH 终端使用你喜欢的 SSH 软件登录 ESXi。
编写关机脚本文件进入存储空间目录
关机脚本文件需放到存储目录中,否则 ESXi 重启会丢失配置的文件。
1cd /vmfs/volumes/datastore1
编辑关机脚本文件123mkdir script # 创建脚本文件存放目录cd scriptvi poweroff.sh
在编辑框输入以下内容并保存退出:
12345678910#!/bin/sh#shutdown all VMs(2,3,9 is VMID,add your VMIDs here)#vim-cmd vmsvc/power.shutdown 1#vim-cmd vmsvc/power.off 1#vim-cmd vmsvc/power.shutdown 2#vim-cmd vmsvc/power.off 2#Poweroff Host/sbin/poweroff
前面注释的代码用于关闭虚拟机。我在各个虚拟机中配置了自动关机,因此注释。
设置脚本权限为 755:
...
OpenWrt 安装自带 Tailscale 和 ZeroTier
官方网站
OpenWrt 软路由固件下载与在线定制编译
Tailscale · Best VPN Service for Secure Networks
ZeroTier | Global Area Networking
OpenWrt 的安装、Tailscale 和 ZeroTier 使用方法参见网上教程。
安装软件包既然是安装系统自带包,使用 OpenWrt 的软件包功能安装即可。安装前先更新列表...。
安装 Tailscale
OpenWrt 22.03.x 以上版本需要安装包 iptables-nft,直接搜索该名称安装。
tailscale 搜索名称安装即可,系统会安装 tailscale 和 tailscaled。
安装完成后一定要重启。
卸载后的清理,推荐使用卸载脚本:
1wget --tries=5 -c -t 60 -O- https://gh.api.99988866.xyz/https://raw.githubusercontent.com/CH3NGYZ/tailscale-openwrt/chinese_mainland/uninstall.sh | ...
OpenWrt 更新所有已安装软件包
登录 SSH
使用任意 SSH 软件登录 OpenWrt。
更新软件列表1opkg update
更新所有软件包1opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
Docker-操作指令收集
查看容器环境变量如果我们需要查看 ENV 设置的环境变量,可以通过以下几个方法进行查看。
使用 docker inspect 命令来查看
1$ docker inspect <CONTAINER-NAME> OR <CONTAINER-ID>
使用 docker exec -it <CONTAINER-NAME> OR <CONTAINER-ID> env查看
进入容器exec 命令-i -t 参数docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。
只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执行结果仍然可以返回。
当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。
1docker exec -i <CONTAINER-NAME> OR <CONTAINER-ID> /bin/bash
从容器里面复制文件1docker cp <CONTAINER-NAME> OR <CONTAINER ...
Rocky Linux 8 安装 Docker-CE
Red Hat 系的 Linux 取消了 Docker,改为了 Podman。
因此需要单独增加 Repo 源才能安装。
此安装方法适用于 Red Hat/CentOS/Rocky Linux/Alma Linux/Oracle Linux 等 Red Hat 系的 Linux 操作系统。
卸载 PodmanRocky Linux 默认安装了 Podman,需要先卸载。否则会和 Docker 依赖组件冲突。
1yum -y erase podman buildah
安装 Docker安装 Docker Repo 源12345# 添加 Docker Repodnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo# 更新源dnf update
官方源和阿里云源,按需替换。
Docker 官方源:https://download.docker.com/linux/centos/
Docker 阿里云源:https://mirro ...
CentOS 8 配置 Web Console
CentOS 8 启动之后,使用 SSH 登录发现了一行提示:Activate the web console with: systemctl enable –now cockpit.socket。
出于好奇搜索了下 cockpit,发现是个好东西。
这条命令是提示可以激活系统的 Web管理程序,设置系统开机启动。
什么是 Cockpit ?官方网站:https://cockpit-project.org/。Cockpit 官网介绍:
Cockpit makes GNU/Linux discoverable. See your server in a web browser and perform system tasks with a mouse. It’s easy to start containers, administer storage, configure networks, and inspect logs.Cockpit 是一个 Web 端的系统管理工具,只用鼠标就能管理系统,事实上也确实如此,启动 Cockpit 服务之后,只需要鼠标就能完成系统很多基础 ...
CentOS 8 虚拟机设置网卡
CentOS 8 在虚拟机新增加的网卡,不会生成网卡配置文件。这是因为从该版本开始,CentOS 停止了 network.service,只能通过 NetworkManager 进行网络配置。
启动 NetworkManager1systemctl start NetworkManager
获取网卡名称输入指令:
1nmcli device
系统显示:
123DEVICE TYPE STATE CONNECTIONens35 ethernet 已连接 ens35lo loopback 未托管 --
ens35 即为网卡设备名称。这里因为已经连接设备,所以后面的状态显示为已连接。
连接网卡设备输入以下指令连接设备。
12nmcli connection add con-name ens35 ifname ens35 type ethernetnmcli connection up ens35
ens35 为要连接设备的新名称。
设备链接成功,在文件夹:/etc/sysconfig/network-scripts/ 会自动生成配置文件 ...
CentOS 8 时间同步
CentOS 推荐使用 chrony 同步时间。chrony 官网列举了诸多 chrony 优于 ntp 的功能。
https://chrony.tuxfamily.org/comparison.html
安装 chrony1yum -y install chrony
默认 CentOS 已经安装了 chrony
配置 chrony备份配置文件1cp /etc/chrony.conf /etc/chrony.conf.backup
编辑配置文件1nano /etc/chrony.conf
在打开文件的头部增加以下配置内容:
123server ntp1.alyun.comserver ntp2.alyun.comserver ntp3.alyun.com
启动相关服务1234systemctl start chronydsystemctl enable chronydsystemctl start crondsystemctl enable crond