在Dockerfile的RUN语句后加入一行
例如
chmod a+x /usr/bin/entrypoint.sh && \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
apk add --no-cache \
--virtual .build-deps \
build-base \
curl \
openssl-dev \
tar && \
在Dockerfile的RUN语句后加入一行
例如
首先需要确定思路的是生成镜像时,程序发现 /usr/bin/entrypoint.sh 文件没有可执行权限,才会报这个错误。围绕这个问题,需要修改 Dockfile文件,简单举个例子:
语句应该加在RUN的后面,属于系统级别参数设置,修改如下:
在Dockfilie文件中添加
volumes:
– /etc/localtime:/etc/localtime
如果直接使用nerdctl run 的话,需要在启动语句中加入
-v /etc/localtime:/etc/localtime
最近需要把CentOS的业务换到龙蜥,正好龙蜥有自己的监控体系SysOM,虽然还不太完善,但需要的功能都可以使用,下图为SysOM网络监控图
时间集中在21:30以后,然后会持续到第二天9点左右,经过查询日志,发现有业务部门晚上在跑程序,速度达到1秒1个到2个的解析速度,果断封禁,命令如下
禁止ip
以后如果需要放开,执行
最后别忘了执行
写一下最后的结果,业务部门换了114的公共DNS,至此完美解决。
测试新版本的Veeam12的时候,不管增加的是Vcenter还是Esxi,6.7的版本全是正常备份,8.0的版本全部失败,报打开VDDK 磁盘失败错误,经过长时间的探索,逐步对Veeam的备份机制有所了解,先说结论
部署Veeam的ip地址和Esxi8管理ip可通信,但和Esxi8的vmotion的ip不能通信导致,但在Esxi6.7版本及之前不存在这个问题。
推测原因是Esxi7及以后版本改变了数据通信模式,如果没有配置vmotion ip,那么备份时候数据还是走管理ip,但是一旦发现主机配置了vmotion ip,则只从vmotion ip走数据;Esxi6.7及之前的版本是只要管理ip和Veeam的ip是通的,就可以走备份数据。
提供思路,希望能帮助有相同困扰的朋友。
Download Java for Windows页面中写的很清楚
在 Windows 10 中,Edge 浏览器不支持插件,因此不会运行 Java
首先说一下,浏览器里301缓存会多久失效,这是一个极为复杂的问题,目前已知:
IE7, IE8 不会缓存
IE 11 会缓存,时间未知,重启无效
Chrome 会缓存,时间未知,重启无效
Firefox 会缓存,时间未知,重启无效
所以,如果是临时测试使用,那应该用302临时跳转替代301,301是永久重定向,不适合临时。302跳转代码如下:
location / { rewrite ^ https://www.china.cn redirect; }
如果非要使用301跳转,又不想浏览器缓存,那可以使用如下代码:
location / { add_header Cache-Control no-cache; rewrite ^ https://www.china.cn permanent; }
一、镜像建立脚本需要修改
https://hub.docker.com/r/internetsystemsconsortium/bind9 是启动方法
https://github.com/isc-projects/bind9-docker 里是build方法,点击Dockerfile查看第一行是否有绿勾,如下图
绿勾代表编译通过,如果是红叉,那就等等作者,如果不能等的话,也有其它方法,我们以后再说。
看Dockerfile内容如下
FROM ubuntu:jammy
MAINTAINER BIND 9 Developers <bind9-dev@isc.org>
ENV DEBIAN_FRONTEND noninteractive
ENV LC_ALL C.UTF-8
ARG DEB_VERSION=1:9.18.12-1+ubuntu22.04.1+isc+1
# Install add-apt-repository command
RUN apt-get -qqqy update
RUN apt-get -qqqy dist-upgrade
RUN apt-get -qqqy install –no-install-recommends apt-utils software-properties-common dctrl-tools gpg-agent
# Add the BIND 9 APT Repository
RUN add-apt-repository -y ppa:isc/bind
# Install BIND 9
RUN apt-get -qqqy update
RUN apt-get -qqqy dist-upgrade
RUN apt-get -qqqy install bind9=$DEB_VERSION bind9utils=$DEB_VERSION
# Now remove the pkexec that got pulled as dependency to software-properties-common
RUN apt-get –purge -y autoremove policykit-1
RUN mkdir -p /etc/bind && chown root:bind /etc/bind/ && chmod 755 /etc/bind
RUN mkdir -p /var/cache/bind && chown bind:bind /var/cache/bind && chmod 755 /var/cache/bind
RUN mkdir -p /var/lib/bind && chown bind:bind /var/lib/bind && chmod 755 /var/lib/bind
RUN mkdir -p /var/log/bind && chown bind:bind /var/log/bind && chmod 755 /var/log/bind
RUN mkdir -p /run/named && chown bind:bind /run/named && chmod 755 /run/named
VOLUME ["/etc/bind", "/var/cache/bind", "/var/lib/bind", "/var/log"]
EXPOSE 53/udp 53/tcp 953/tcp
CMD ["/usr/sbin/named", "-g", "-c", "/etc/bind/named.conf", "-u", "bind"]
我们需要将最后一行的-g参数改为-f参数,如果服务器用-f参数启动,则named.run会被stderr所代替,severity 按照服务器当前Debug级别记录日志,如果是-g则启动调试模式,输出到显示器上,所以正常工作环境下,不适用-g参数,使用nerdctl重新编译。
nerdctl build -t bind:new -f .
二、目录权限
大家参考,目录内权限递归。需要注意的是配置文件及日志文件均不会自动建立,需要从容器中拷贝或新建。
三、网络
本次使用的机器包含了V4和V6地址,所以没有使用端口映射的方式启动,使用了–network host 模式,直接使用宿主机的网络地址。
优惠口令如上图,大家需要的可以试试,我这个域名1年优惠了4元,目前优惠完的价格是35/年