note 1 :
netstat、curl、ip、nmap、dig
这些都是常用的网络诊断工具,它们的全称如下:
netstat
:Network Statistics,网络统计,用于显示网络连接,路由表,网络接口统计等网络信息。curl
:Client URL,客户端 URL,用于使用 URL 语法在命令行下工作,支持文件的上传和下载。ip
:IP Command,IP 命令,用于显示或操纵路由、设备、策略路由和隧道。nmap
:Network Mapper,网络映射器,用于网络探测和安全审计。dig
:Domain Information Groper,域名信息查询工具,用于查询 DNS 名称服务器的信息。
2、 cp
拷贝文件或文件夹
文件 cp source destination
文件夹 加上 cp 【-r (recursion)递归 】 source destination
复制文件夹时: 如果目标目录 (directory)不存在,则会创建目录并将源目录内容 ,复制到目标目录
eg: src/index.js
cp -r ./src ./w
结果 : w/index.js
如果目标目录 (directory)存在,则会将源目录本身 ,复制到目标目录
结果 : w/src/index.js
3、文件颜色
检测某个端口是否被占用
why usr but not user
what is apk、apt 、 yum
FROM alpine:3.14@sha256:eb3e4e175ba6d212ba1d6e04fc0782916c08e1c9d7b45892e9796141b1d379ae
ENV BLUEBIRD_WARNINGS=0 \
NODE_ENV=production \
NODE_NO_WARNINGS=1 \
NPM_CONFIG_LOGLEVEL=warn \
SUPPRESS_NO_CONFIG_WARNING=true
RUN apk add --no-cache \
nodejs
COPY package.json ./
RUN apk add --no-cache npm \
&& npm i --no-optional \
&& npm cache clean --force \
&& apk del npm
COPY . /app
CMD ["node","/app/app.js"]
EXPOSE 3000
apk
是 Alpine Linux 包管理器,类似于 Ubuntu 的apt
或 CentOS 的yum
。它用于安装、升级或删除软件包。在你的 Dockerfile 中,
apk
命令用于安装nodejs
和npm
:
RUN apk add --no-cache nodejs
:这行命令安装 Node.js。--no-cache
选项表示不保留缓存的索引,这可以减少 Docker 镜像的大小。
RUN apk add --no-cache npm
:这行命令安装 npm,Node.js 的包管理器。这使得你可以使用npm i --no-optional
命令来安装你的应用的依赖。
&& apk del npm
:这行命令在安装依赖后删除 npm。这是一个常见的优化技巧,可以减少 Docker 镜像的大小。但请注意,这意味着你的应用在运行时将无法使用 npm。如果你的应用需要 npm,你应该移除这行命令。