首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Salt管理和部署Docker

    Salt是一个开源配置管理和远程执行应用,Salt目地是简化中央系统管理和配置的管理。而Docker是一个开源应用自动部署项目,在软件容器中提供附加抽象层和操作系统虚拟化。 Docker和Salt都能让裸机服务器和云服务一样使用,Salt提供基础系统,而Docker能包容每个应用,提供微服务功能。 假设以下情况: 目标: 很多主机都需要部署Docker容器,而每个主机上有很多容器。 Not covered: 构建docker容器,通常和Jenkins 一起使用,然后推送到一个私人仓储或使用 Docker Hub. Salt有一个state modules 系统和execution module执行模块,状态是整个情况的表示,而执行模块是用来乏味系统内部执行的命令,但是不能从状态中执行。可见 salt docs. 1.设置变量 开始设置很多变量以后会用得着,使用pillars和 grains能让状态更易于重用,noofcontainers是用于设置启动多少个容器。 {% set name = 'node-demo' %} {% set registryname = 'jacksoncage' %} {% set tag = salt['pillar.get']('imagetag', "latest") %} {% set containerid = salt['grains.get']('id') %} {% set hostport = '808' %} {% set hostip = grains['ip_interfaces']['eth0'][0] %} {% set noofcontainers = range(10) ‰} 2.拉取docker image (docker pull) 使用一个 nodejs demo application 作为image, 我们需要从Docker Hub拉取。 {{ name }}-image: docker.pulled: - name: {{ registryname }}/{{ name }} - tag: {{ tag }} - force: True 3.停止旧的容器 如果有旧的容器在运行我们需要停止: {{ name }}-stop-if-old-{{ no }}: cmd.run: - name: docker stop {{ containerid }}-{{ name }}-{{ no }} - unless: docker inspect --format '{{ .Image }}' {{ containerid }}-{{ name }}-{{ nr }} | grep $(docker images --no-trunc | grep "{{ registryname }}/{{ name }}" | awk '{ print $3 }') - require: - docker: {{ name }}-image 4.去除旧容器 停止以后删除旧容器 {{ name }}-remove-if-old-{{ no }}: cmd.run: - name: docker rm {{ containerid }}-{{ name }}-{{ no }} - unless: docker inspect --format '{{ .Image }}' {{ containerid }}-{{ name }}-{{ nr }} | grep $(docker images --no-trunc | grep "{{ registryname }}/{{ name }}" | awk '{ print $3 }') - require: - cmd: {{ name }}-stop-if-old-{{ no }} 5.启动容器 通过docker run/docker.installed安装新容器,设置主机名 端口和环境变量: {{ name }}-container-{{ no }}: docker.installed: - name: {{ containerid }}-{{ name }}-{{ no }} - hostname: {{ containerid }}-{{ name }}-{{ no }} - image: {{ registryname }}/{{ name }}:{{ tag }} - ports:

    04

    Linux环境下的open函数分析(一)

    -----今天晚上醍醐灌顶,听了一些大神前辈的指导,受益匪浅。哈哈,还是写文章吧,明天还是要搬砖呢。 今天分享的是linux环境下open函数的解析,其实在前面的文章里面我只是简单的用了一下open函数的用法(因为自己也是刚开始在学习linux,不是很懂,大神勿喷,还请多指出不足之处),当然它还有好多用法和需要注意的地方。说到这里我又想起了man手册,哈哈,因为它可以在linux环境下查看命令和api以及库函数的具体用法,实在是太强悍了。只是注解是英文的(当然也可以安装系统的时候搞成中文的,但是中文有的时候翻译的不准确,有些词语不好理解,往往英文会更好理解,前提是要一定的英文水平,不然会很难静下心来看完),就如下面,我用 man 2 open 来查看:

    03

    搭建和mybatis-plus官网一样主题的网站(cos+宝塔+vercel)

    网站主题最初是在开发数据api的时候看到的,当时在学习Mybatis-Plus,最初也不知道这是个主题,就觉得Mybatis-Plus官网UI真的不错,直到后面发现另外一个类似的网站,我意识到这是个模板,于是有了自己也搭建一个的想法,不过拖延症相当严重,最初是在宝塔上修改的,效率极低,一度放弃部署,直到最近换成本地开发才好了很多,也就是最近网站搭建初步完成,接下来就是往里面增加文章等等,这里带大家从零开始搭建Vdoing主题网站,算是对过去一个月的知识总结。下图就是mybatis-plus官网,是我们年轻人喜欢的风格(这里随便吐槽一下xx园吧,风格还是20年前的,不知道他们的UI设计师是不是还是兼职的)。

    02
    领券