1. 问题引入
为了解决这些问题,容器技术出现了.容器技术与虚拟机有相似之处,具体的区别见下图.为了说明我直接复制了知乎的高赞回答:
服务器好比运输码头:拥有场地和各种设备(服务器硬件资源),服务器虚拟化好比作码头上的仓库:拥有独立的空间堆放各种货物或集装箱(仓库之间完全独立,独立的应用系统和操作系统);Docker比作集装箱:各种货物的打包(将各种应用程序和他们所依赖的运行环境打包成标准的容器,容器之间隔离).
Docker有着小巧、迁移部署快速、运行高效等特点,但隔离性比服务器虚拟化差:不同的集装箱属于不同的运单(Docker上运行不同的应用实例),相互独立(隔离)。但由同一个库管人员管理(主机操作系统内核),因此通过库管人员可以看到所有集装箱的相关信息(因为共享操作系统内核,因此相关信息会共享).
服务器虚拟化就好比在码头上(物理主机及虚拟化层),建立了多个独立的“小码头”—仓库(虚拟机)。其拥有完全独立(隔离)的空间,属于不同的客户(虚拟机所有者)。每个仓库有各自的库管人员(当前虚拟机的操作系统内核),无法管理其它仓库。不存在信息共享的情况
作者:正则云科技
链接:https://www.zhihu.com/question/48174633/answer/180743885
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Docker在刚开始只允许Linux系统安装,在后续也允许Non-Linux系统安装,这是因为Docker在系统上安装了一个小型的Linux系统,在Linux系统又是和单纯Linux系统安装Docker一样的东西.
2. 安装
SingularityCE的使用不需要管理员权限,但安装需要管理员权限.实际把下面的代码运行一下,斜杠代表换行,只是为了美观.
# Ensure repositories are up-to-date
sudo apt-get update
# Install debian packages for dependencies
sudo apt-get install -y \
wget \
build-essential \
libseccomp-dev \
libglib2.0-dev \
pkg-config \
squashfs-tools \
cryptsetup \
runc
运行上面的代码后,需要安装Go.
$ export VERSION=1.17.2 OS=linux ARCH=amd64 && \
#上面的export相当于Python的变量声明,将变量值带入wget里去.我们没必要一定要安装1.17.2的go.
# 也可以直接在官网复制新的版本下载代码
wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz && \
#tar -C 指定解压路径
sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz && \
#删除下载的软件包
rm go$VERSION.$OS-$ARCH.tar.gz
然后将GO语言添加到环境变量
$ echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc && \
source ~/.bashrc
然后就是下载SingularityCE
标签:容器,tar,虚拟机,技术,Linux,go,Singularity,安装,Docker From: https://www.cnblogs.com/newblg/p/17724951.html