首页 文章 精选 留言 我的

精选列表

搜索[编写],共10000篇文章
优秀的个人博客,低调大师

DockerFile的编写和注意的一些知识点

CMD,RUN,ENTRYPOINT之类的差别。 VOLUMN和-V之间的差别。 EXPOSE和-P的对应等。 今天上午写了一个脚本,可以传参数进IMAGE,让启动的CONTAINER具有不同的行为。 另外是一些常用的方便命令: 删除所有正在运行的容器(先停止,再删除)。 docker stop $(docker ps -q) && docker rm $(docker ps -a -q) 启动镜像(包括端口映射,目录挂载-如果windows,那不是挂windows目录,是虚拟机目录,命令容器,传递参数) docker run -p 8889:80 -v /applog:/var/log/nginx --name testprism333 prism3 -e PRD ============================= 如果在Dockerfile中同时写了entrypoint和cmd,docker在build过程中会将cmd中指定的内容作为entrypoint的参数。 那么如果,我们希望每个容器都固定的执行一个config脚本,然后再运行特定的程序时,利用entrypoint和cmd可以如何做到呢?从上述分析可以很自然的想到,将entrypoint解析CMD参数,并以命令执行。 CMD命令的参数格式,一般写成 字符串数组的方式,如上面的例子。如: CMD ["echo","hello world"] 虽然也可写成CMD echo hello word 方式,但这样docker会在指定的命令前加 /bin/sh -c 执行,有时有可能会出问题。 所以推荐采用数据结构的方式来存放命令。 dockerfile 中的 ENTRYPOINT 和 CMD 看似一样,都是实现 container 启动命令,但是需要注意: 1、都有两种方式,数组方式,以及 shell 方式 ? 1 2 [ "sh" , "-c" , "echo hello" ] sh -c 'echo hello' 2、ENTRYPOINT 除了指定 container 入口之外,更重要的作用是: 通过它可以让一个 container 像一个 executable 一样。比如 ? 1 ENTRYPOINT ["/bin/sh"] 之后 build 出来的镜像就像一个 sh 程序文件一样,运行该 image,就像运行 sh 程序。 3、如果 ENTRYPOINT 指定了,并且采用了数组方式,即["exectable", "para1", "para2"],那么 CMD 指定的内容会被视为 ENTRYPOINT 数组中最后的一个参数 4、如果 ENTRYPOINT 使用 shell 方式,那么它会覆盖所有的 CMD 以及docker run后面指定的 command 5、docker run后面指定的 command 会取代 CMD 的内容 ============================= From nginx MAINTAINER Prism DevOps@pxx.com.cn WORKDIR /usr/local/nginx/html ENV NGINX_ROOT_DIR /usr/local/nginx/html VOLUME ["/applog", "/data"] RUN mkdir -p /var/devops/ COPY bootstart.sh /var/devops/bootstart.sh ENTRYPOINT ["/bin/bash", "/var/devops/bootstart.sh"] CMD ["-h"] #!/bin/bash # description: dockerfile function depend on CMD and ENTRYPOINT arg # author: chngjun855 # version alpha # date 2017-05-18 # get args while getopts "e:i:g:h" arg do case $arg in e) env=$OPTARG ;; i) ipaddr=$OPTARG ;; g) group=$OPTARG ;; h) echo "/bin/bash bootstart.sh -e [ENV] -i [ipaddress] -g [group]" ;; ?) echo "unknow argument, -e -i -g" exit 1 esac done echo "env is $env" echo "ipaddr is $ipaddr" echo "group is $group" # different function depend on different env arg case $env in FAT) echo "FAT html page" > /usr/share/nginx/html/test.html ;; UAT) echo "UAT html page" > /usr/share/nginx/html/test.html ;; PRD) echo "PRD html page" > /usr/share/nginx/html/test.html ;; esac nginx -g "daemon off;"

优秀的个人博客,低调大师

ipython notebook 浏览器中编写数学公式和现实

Python Notebook简介1 http://www.cnblogs.com/cbscan/p/3545084.html $ python -m IPython http://pypi.python.org/pypi/pip#downloads #python setup.py install $ git clone --recursive https://github.com/ipython/ipython.git $ cd ipython $ pip install -e ".[notebook]" --user yum install python-devel #Python.h缺少的错误 https://github.com/zeromq/pyzmq/releases http://doc.libsodium.org/ http://www.cnblogs.com/Cherise/p/4351022.html 源码安装ipython,并在ipython中整合spark

优秀的个人博客,低调大师

Bun 发布 1.0 正式版本,Zig 编写的 JavaScript 运行时

2022年9月8日,Javascript运行时Bun正式发布1.0版本,标志着这个由前Facebook工程师创建的项目正式进入稳定生产可用阶段。 Bun的愿景是通过深度整合,让Javascript开发“快如闪电”。这个新生力量是否能撼动Javascript界老牌霸主Node的地位,成为下一代前端开发标准?让我们一睹这个新星的威力。 作为Javascript社区中一个相对较新的革新者,Bun致力于解决碎片化工具过多导致的开发低效问题。它将运行时、打包工具、测试框架等功能融合在一个工具中,提供开箱即用的高性能体验。 Bun兼容现有的Node.js生态,几乎所有Node程序可以无缝迁移。更令人振奋的是,Bun的启动速度可达Node的4倍,运行TypeScript的速度比esbuild+Node快5倍!原因在于其使用了Apple开源的WebKit引擎,而不是Node常见的V8。 bun index.ts Bun内置对TypeScript和JSX的支持,省去了编译配置的麻烦。同时它也能兼容CommonJS和ESM模块,你可以在同一文件内混合使用import和require语句。Bun成功地消除了模块管理的复杂性问题,表现十分出色! import lodash from "lodash"; const _ = require("underscore"); Bun还拥有先进的本地API,比如用Bun.file()替代fs读文件,可获得10倍速度提升。Bun.write()写入文件也比Node快3倍。Bun.serve()启动HTTP服务支持WebSocket,性能均是Node的5倍左右。可以说,Bun的本地API设计是效率至上的。 Bun最大的杀手锏是其集成的打包功能。基于esbuild优化,它比主流的Rollup、Parcel、Webpack都快上一两个数量级,堪称JS打包速度之最。Bun更开创了JS宏的新概念,可以在打包时运算JS函数并内联结果到代码中,是其他打包器难以企及的创新 对于前端测试,Bun实现了与Jest兼容的测试框架bun:test。它利用原生实现提升了匹配器速度,完爆Jest和Vitest达10-100倍。命令bun test即可享受极速测试体验。 最后,Bun现在首次推出实验版本,为Windows操作系统提供原生支持,这意味着Windows用户无需再依赖Windows Subsystem for Linux(WSL),即可轻松体验Bun所带来的超光速开发乐趣。 Bun 1.0的发布预示着Javascript生态可能再次被颠覆和重塑。新老开发者们不妨试用Bun,体验其中的进化与乐趣。让我们共同见证Javascript的新纪元!

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册