专栏首页有困难要上,没有困难创造困难也要上!Singularity入门之通过镜像定义文件创建镜像

Singularity入门之通过镜像定义文件创建镜像

镜像配置文件

下面以 Redis 数据库为例,主要说说 %startscript 和 %runscript 的区别。

看下面 redis.def 配置文件

Bootstrap:library
From: ubuntu:18.04

%help
    Redis 5.0.0 for Ubuntu

%post
    apt-get update
    apt-get install -y wget build-essential
    wget http://download.redis.io/releases/redis-5.0.0.tar.gz
    tar xzf redis-5.0.0.tar.gz
    cd redis-5.0.0
    make

%startscript
    /redis-5.0.0/src/redis-server

%runscript
    /redis-5.0.0/src/redis-cli

其中:

  • %startscript 是指容器启动时运行的命令,见下面:启动 Redis Server
  • %runscript 是指容器执行时运行的命令,通过 run 子命令或者直接运行容器镜像来执行,见下面:运行 Redis Client
  • 具体配置文件说明,可以参考: https://sylabs.io/guides/3.2/user-guide/definition_files.html

制作镜像

制作镜像需要 root 权限,所以下面命令用 sudo 来执行。

$ sudo singularity build redis.sif redis.def

使用镜像

启动 Redis Server

启动 Redis Server 会调用 %startscript 来启动 Redis Server。

$ singularity instance start redis.sif redis
INFO:    instance started successfully

运行 Redis Client

运行 Redis Client 会调用 %runscript 来运行 Redis Client。

# 通过 run 子命令运行 Redis Client
$ singularity run redis.sif
127.0.0.1:6379> ?

# 通过直接执行镜像来运行 Redis Client
$ ./redis.sif
127.0.0.1:6379> 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows通过组策略设置开机自启动脚本

    kongxx
  • Caffe训练模型时core dump

    kongxx
  • Singularity入门之运行容器

    和Docker类似,要运行 Singularity 也需要先获取镜像,Singularity 可以从Singularity Hub 或者 Docker Hub ...

    kongxx
  • 画解算法 | 458.可怜的小猪

    有 1000 只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在 15 分钟内死去。

    灵魂画师牧码
  • Hive之导出文件按逗号分隔到本地文件

        如下所示,默认导出的是用\t分隔的,需要使用管道符进行转换,经常使用到,记录下.

    克虏伯
  • 惊心动魄,Linux被死锁阵痛后的破门实录

    Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。

    小小科
  • Gadget构造:从JIT-ROP到对抗XnR

    写在前面 简单地说,本文介绍了两种构造gadget的思路。(在浏览器支持JIT的情况下) 演进:关于JIT-ROP 我们知道,最初DEP的出现是为了对抗的栈溢...

    FB客服
  • Lua table之弱引用

    Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们。然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是无...

    晚晴幽草轩轩主
  • 小白博客 反弹shell 在公网服务器执行 nc –lvv 8888

    Lua采用了基于垃圾收集的内存管理机制,因此对于程序员来说,在很多时候内存问题都将不再困扰他们。然而任何垃圾收集器都不是万能的,在有些特殊情况下,垃圾收集器是...

    奶糖味的代言
  • Redis 数据库、键过期的实现

    之前的文章讲解了 Redis 的数据结构,这回就可以看看作为内存数据库,Redis 是怎么存储数据的以及键是怎么过期的。

    用户2060079

扫码关注云+社区

领取腾讯云代金券